3

我正在用Rails创建一个has_and_belongs_to_many关系。每个小组有许多参与者,每个参与者可以是许多小组的一部分。HABTM与文本/暗码字段的关系

的关系似乎被设置好的,因为我可以使用复选框以我的窗体中添加使用这种关系:

<%= collection_check_boxes(:group, :participant_ids, @participants, :id, :name) %> 

不过,我需要使用一个隐藏字段提交这些关系(我用AJAX在视图中获取它们)和一个ID数组(例如[1, 3])。我用这样的文本字段尝试,但它不保存数据:

<%= f.text_field :participant_ids %> 

participant_ids保存使用复选框和I输出它的放映视图这是一组ID,但我不能似乎以这种格式提交它开始。

为什么我不能使用文本/隐藏字段提交participant_ids,有没有办法解决这个问题?


仅供参考我已经设置了连接表和模型是这样的:

class Group < ActiveRecord::Base 
    has_and_belongs_to_many :participants 
end 

class Participant < ActiveRecord::Base 
    has_and_belongs_to_many :groups 
end 

我还修改了组控制器具有较强的参数,像这样的工作:

def group_params 
    params.require(:group).permit(:user_id, :purpose, :participant_ids => []) 
end 

如有必要,我可以发布更多的代码。

回答

0

This answer为我工作。您将必须

<% @participants.each do |participant| %> 
    <% f.hidden_field 'participant_ids][', :value => participant.id %> 
<% end %>