我正在尝试在与其ID相关联的复选框旁边添加用户名。我的最终目标是使用自定义属性writer,users_attributes =,将id分配给名为“admin_id”的ListsUsers表中的列。我似乎无法弄清楚如何在表单中访问用户的名称来创建标签。
仅供参考,为了本练习的目的,我避免在List.rb中使用“accepts_nested_attributes_for”
我的表格:
<%= form_for(@list) do |f| %>
<%= f.fields_for :users do |users_fields| %>
<%= users_fields.label :name %>
<%= users_fields.check_box :id %>
<% end %>
<%= f.submit %>
<% end %>
我在ListsController.rb中的强大参数
def list_params
params.require(:list).permit(:name, :list_type, invites_attributes: [:email, :status], users_attributes: [:id, :name])
end
我在List.rb中的客户属性编写器
def users_attributes=(users_attributes)
binding.pry
end
我能够抓住撬的属性。只需要标记框,以便用户知道他们正在检查什么。
答案 0 :(得分:0)
解决了它:
<%= form_for(@list) do |f| %>
<%= f.fields_for :users do |users_fields| %>
<%= users_fields.object.name %>
<%= users_fields.check_box :id, checked: true %>
<% end %>
<%= f.submit %>
<% end %>