【问题标题】:Rails 4.0 Collection SelectRails 4.0 集合选择
【发布时间】:2014-05-20 21:59:32
【问题描述】:

我是 Rails 4.0 的新手,在我的表单中使用集合选择时遇到问题。我有一个关联,其中合同有许多任务订单。在创建新的任务订单时,我希望表单具有可供选择的合同 DDL。

我的合同表具有以下属性: 合同编号 合同名称

我的 task_orders 表具有以下属性: task_orderId contract_Id

我阅读了 Rails API,我的 for 当前看起来像这样:

<div class="field">
  <%= f.label :contract_Id %><br>
  <%= collection.select(:TaskOrder, :contract_Id, :Contract.all, :id, {}, {}) %>
</div>

请帮忙!谢谢!

【问题讨论】:

    标签: ruby-on-rails select collections


    【解决方案1】:

    试试这个

    <div class="field">
      <%= f.label :contract_Id %><br>
      <%= collection_select(:task_order,:contract_Id,Contract.all, :id, {}, {}) %>
    </div>
    

    你写的 :TaskOrder 是错误的。Model instance 应该用作 first param,而不是 Class Name而且它是collection_select 而不是collection.select

    有关更多详细信息,请参阅此API

    更新

    当与form helpers一起使用时,你应该像这样使用collection_select

    <%= f.collection_select(:contract_id,Contract.all, :id,:id,{:include_blank => true}) %>
    

    【讨论】:

    • 还有Contract.all 而不是:Contract.all
    • 大家好 - 感谢您的帮助。 @Pavan我尝试了该代码,但现在出现错误:#<:helpers::formbuilder:0x007f993a4ad000> 的未定义方法`collection'
    • 使用首字母f, f.collection_select(:contract_id,Contract.all, :id, {}, {})
    • f.collection_select(:contract_id,Contract.all, :id, :id, {:include_blank =&gt; true})
    猜你喜欢
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多