【问题标题】:Multiple select issue with a HABTM relationship using Rails 4使用 Rails 4 的 HABTM 关系的多选问题
【发布时间】:2013-07-18 21:25:54
【问题描述】:

虽然代码似乎是正确的,但当我尝试发送表单时,并没有发送多选的值。

如果我只是删除多个选项,考虑到一个值,一切都会按预期工作,但每个事务存储多个标签很重要。

型号

Transaction.rb

class Transaction < ActiveRecord::Base
    has_and_belongs_to_many :tags

标签.rb

class tag < ActiveRecord::Base
    has_and_belongs_to_many :transactions

查看

<%= form.collection_select :tag_ids, @tags, :id, :name, {}, 
    {:multiple => true} %>

结果:

<select id="transaction_tag_ids" multiple="multiple" name="transaction[tag_ids][]">  
    <option value="1">..</option>
</select>

【问题讨论】:

    标签: forms ruby-on-rails-4 has-and-belongs-to-many


    【解决方案1】:

    确保您正确允许接收的参数用于批量分配。

    你说一个参数有效,所以我假设你在控制器中的某个地方有什么,比如:

    params.require(:transaction).permit(:name, :tag_ids)
    

    所以你需要允许接收一个数组:

    params.require(:transaction).permit(:name, :tag_ids => [])
    

    【讨论】:

      【解决方案2】:

      我用

      解决了我的问题
      {:health_unit_ids => []}
      

      没有{}

      ,Rails 4 不被接受

      【讨论】:

        猜你喜欢
        • 2013-06-21
        • 1970-01-01
        • 1970-01-01
        • 2011-01-16
        • 1970-01-01
        • 1970-01-01
        • 2014-03-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多