Ruby on rails Rails:当我只希望编辑集合中的一个对象时,如何在集合上使用字段_进行选择
我的Rails应用程序中有一个会议模型,有很多出席者(出席模型)。创建会议的人员在Attentings表中以管理员角色获得一个条目,并且他们从select输入中选择的人员也以Attender角色添加到Attentings表中 因此,我的会议模型Ruby on rails Rails:当我只希望编辑集合中的一个对象时,如何在集合上使用字段_进行选择,ruby-on-rails,Ruby On Rails,我的Rails应用程序中有一个会议模型,有很多出席者(出席模型)。创建会议的人员在Attentings表中以管理员角色获得一个条目,并且他们从select输入中选择的人员也以Attender角色添加到Attentings表中 因此,我的会议模型接受\u嵌套的\u属性\u for:Attentments,在会议控制器创建方法中,我执行以下操作: def new @meeting = Meeting.new @meeting.attendances.new end 在会议所
接受\u嵌套的\u属性\u for:Attentments
,在会议控制器创建方法中,我执行以下操作:
def new
@meeting = Meeting.new
@meeting.attendances.new
end
在会议所有者返回编辑会议之前,这一切都很好
<%= form.fields_for :attendances do |att| %>
<%= att.label :user_id, "Who are you meeting with?" %>
<%= att.select :user_id,
options_for_select(current_user.company.users.map{ |user| [user.name, user.id] }, :user_id) %>
<% end %>
因为form.fields_for:attents do | att |
循环通过与会议相关的两个出席
<%= form.fields_for :attendances do |att| %>
<%= att.label :user_id, "Who are you meeting with?" %>
<%= att.select :user_id,
options_for_select(current_user.company.users.map{ |user| [user.name, user.id] }, :user_id) %>
<% end %>
当会议所有者编辑现有会议时,我试图使选择字段仅显示@meeting.attentations,其中role=“attendee”
我设想有一种“Rails”方法来实现这一点,它不包括我将逻辑块放在我的_formpartial中。
fields\u for
接受第二个参数,它是一个记录数组
def编辑
@与会者=@meeting.attentations.where(角色::与会者)
终止
为什么不在控制器(编辑操作中)中获取这些内容,如
@attentations=@meeting.attentations.where(角色:“…”)
,然后在表单中循环该数组?
<%= form.fields_for :attendances, @attendees do |att| %>
...
form.select :user_ids, current_user.company.users.map { |user| [user.name, user.id] }, {}, multiple: true