Rav*_*hal 4 has-and-belongs-to-many strong-parameters ruby-on-rails-4
用户模型:
has_and_belongs_to_many :events
Run Code Online (Sandbox Code Playgroud)
活动模式:
has_and_belongs_to_many :users
Run Code Online (Sandbox Code Playgroud)
用户控制器:
params.require(:user).permit(:role, {:event_ids => []})
Run Code Online (Sandbox Code Playgroud)
事件控制器:
params.require(:event).permit(:subject, :location, :date, :time, :all_day, :reminder, :notes, {:users_ids => []})
Run Code Online (Sandbox Code Playgroud)
我的表格:
<%= simple_form_for(@event) do |f| %>
<%= f.input :subject %>
<%= f.input :location %>
<%= f.input :date %>
<%= f.input :time %>
<%= f.association :users %>
<%= f.input :all_day %>
<%= f.input :reminder %>
<%= f.input :notes %>
<%= f.button :submit, :class =>"btn btn-default" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我希望能够从列表中选择用户并将该用户保存到数据库中.但是当我尝试创建一个新事件时,我在控制台中收到以下消息:
Unpermitted parameters: user_ids
Run Code Online (Sandbox Code Playgroud)
我的设置不正确吗?我没有将正确的实例变量传递给表单吗?
呃...详细信息!
以前怎么样:
params.require(:event).permit(:subject, :location, :date, :time, :all_day, :reminder, :notes, {:users_ids => []})
Run Code Online (Sandbox Code Playgroud)
怎么样:
params.require(:event).permit(:subject, :location, :date, :time, :all_day, :reminder, :notes, {:user_ids => []})
Run Code Online (Sandbox Code Playgroud)
请注意:users_ids实际上应该是:user_ids!
或者你可以简单地使用这样的速记语法.
params.require(:event).permit(:subject, :location, :date, :time, :all_day, :reminder, :notes, user_ids: [])
Run Code Online (Sandbox Code Playgroud)
注意:user_ids: []而不是{:user_ids => []}
| 归档时间: |
|
| 查看次数: |
3632 次 |
| 最近记录: |