【问题标题】:Rails 5 - Many to Many checkboxes or radio buttonsRails 5 - 多对多复选框或单选按钮
【发布时间】:2018-03-30 13:08:30
【问题描述】:

好的,所以我将 Option 分组到 OptionGroup 中。 OptionGroup 有一个名为 :multiple 的布尔属性,它确定是否可以选择组中的多个选项,或者只能选择组中的单个选项。我还有一个 LineItem 模型,它与 Option 模型有多对多的关系。

这是我的模型

class OptionGroup < ApplicationRecord
  # Uses :multiple, a boolean attribute to determine if multiple can be selected
  has_many :options
end

class Option < ApplicationRecord
  belongs_to :option_group
end

class LineItem < ApplicationRecord
  has_many :line_item_options
  has_many :options, through: line_item_options
end

class LineItemOption < ApplicationRecord
  belongs_to :option
  belongs_to :line_item
end

我在这里遇到的问题是,一些选项组只允许选择组中的一个选项(单选按钮),而一些 option_groups 将允许选择任何选项组合。

在 LineItemsController 我有:

private
  def line_item_params
    params.require(:line_item).permit(:some, :list, :of, :params, options_ids: [])

在我的 line_item 表单中,如何根据选项的 option_group.multiple 属性在单选按钮和复选框之间切换?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-5


    【解决方案1】:

    这称为has_many :through 关联,更新Option 类,如下所示

    class Option < ApplicationRecord
        belongs_to :option_group
    
        has_many :line_item_options
        has_many :line_items, through: line_item_options
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-28
      • 2017-06-26
      • 2013-04-29
      • 2014-10-08
      相关资源
      最近更新 更多