[英]Rails Collection Select in Form not Saving
無論出於何種原因,這都無法節省。 這將使我成功,並重定向到應該的頁面,但組項目上的page_id為nil。
<%= simple_form_for group do |f| %>
<%= f.input :page_id,
collection: @pages,
selected: group.page,
label: false
%>
<%= f.button :submit, "Assign Page" %>
<% end %>
控制者
def update
group = Group.find(params[:id])
group.update_attributes(group_params)
redirect_to groups_path, notice: "Did it"
end
和params(我已經盡力嘗試了所有變體)。 奇怪的是,表單似乎正在創建嵌套的參數。
def group_params
params.require(:group).permit(:name, :page, :group => [:page_id])
end
返回的請求參數:
{"utf8"=>"✓", "_method"=>"patch",
"authenticity_token"=>"Cccccii383838=",
"group"=>{"page_id"=>"2"}, "commit"=>"Assign Page",
"action"=>"update", "controller"=>"groups", "id"=>"3"}
一組has_one頁。 頁面has_one組。 關聯的ID在每個模型上。
有什么想法嗎? 我把頭撞在牆上是因為這可能是一個愚蠢的問題。
你嘗試過這個嗎? 我認為問題在於group_params
方法
def group_params
params.require(:group).permit(:page_id)
end
<%= simple_form_for @group do |f| %>
<%= f.input :page_id,
collection: @pages,
selected: group.page,
label: false
%>
<%= f.button :submit, "Assign Page" %>
<% end %>
groups_controller.rb
def update
@group = Group.find(params[:id])
@group.update_attributes(group_params)
redirect_to groups_path, notice: "Did it"
end
def group_params
params.require(:group).permit(:name, :page_id)
end
並且您的關聯應該是頁面has_one組和組所屬頁面
替換控制器中的強參數
def group_params
params.require(:group).permit(:name, :page, :page_id)
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.