has_many通过关系设置为具有额外列的ID数组

时间:2015-04-20 16:17:55

标签: ruby-on-rails ruby arrays

我在activity_summariesgears之间存在“n到n”关系。

#ActivitySummary
has_many :activity_summaries_gears
has_many :gear_furnished, -> { where(activity_summaries_gears: {furnished: true}) }, through: :activity_summaries_gear, source: :gear
has_many :gear_advised, -> { where(activity_summaries_gears: {furnished: false}) }, through: :activity_summaries_gear, source: :gear

#active_summaries/_form
<%= check_box_tag 'activity_summary[gear_furnished_ids][]', gear.id,
@execution_summary.gear_furnished.include?(gear) %>
<%= check_box_tag 'activity_summary[gear_advised_ids][]', gear.id,
@execution_summary.gear_advised.include?(gear) %>

我的关系表有一个额外的栏目。

如果关联是使用furnished创建的,我想将gear_furnished设置为true;如果使用gear_advised创建关联,则设置为false。

我在ActivitySummary控制器中使用数组furnished_gear_ids和数组advised_gear_ids创建关系。

0 个答案:

没有答案