我有一个处理用户轮回的应用程序 - 我目前正在添加管理员批准的功能。如果用户更新他们自己的rota,则params散列看起来像:
参数:{id:1,role_id:1,team_id:1,rota:[startDate:01/01/2014,endDate:02/02/2014]}
并使用以下表格提交这些内容:
<%= form_for [@team,@role,@rota] do |f| %>
form code
<% end %>
我们需要访问rota:object之外的属性,但目前无法找到以下方式:
params.require要求你传递一个对象。
我的团队成员已决定添加隐藏字段以在rota对象中提交属性,但这看起来很多,因为它们非常明显,我们无法找到访问它们的方法和想法?< / p>
答案 0 :(得分:0)
我在谈论像
这样的事情def user_rota_params
params.require(:user)
.permit(:role_id, :team_id, :rota => [:startDate, :endDate])
end
然后,对于您的嵌套属性,您可以使用fields_for
因此,您的表格应该看起来像这样(省略标签并保持基本):
<%= form_for @user do |f| %>
<%= f.text_field :role_id %>
<%= f.text_field :team_id %>
<%= f.fields_for :rota do |ff| %>
<%= ff.date_field :startDate %>
<%= ff.date_field :endDate %>
<% end %>
<% end %>