Ruby on rails 4 Rails 4参数.require().permit()不考虑一个属性

Ruby on rails 4 Rails 4参数.require().permit()不考虑一个属性,ruby-on-rails-4,Ruby On Rails 4,我在使用params.require().permit()方法时遇到问题,因为它没有考虑我为其设置的属性之一,即属性:on 我所拥有的是: def event_recurrence_params params.require(:event_recurrence).permit(:room_id, [...], :on, :every) end 然后,当我调用event\u recurrence\u params时,答案是 >> event_recurrence_params =

我在使用
params.require().permit()
方法时遇到问题,因为它没有考虑我为其设置的属性之一,即属性
:on

我所拥有的是:

def event_recurrence_params
  params.require(:event_recurrence).permit(:room_id, [...], :on, :every)
end
然后,当我调用
event\u recurrence\u params
时,答案是

>> event_recurrence_params
=> {"room_id"=>"1", [...], "every"=>"week"}
即使
params[:event\u recurrence]
的值为

>> params[:event_recurrence]
=> {"room_id"=>"1", [...], "on"=>["wednesday"], "every"=>"week"}
如您所见,
:on
属性在
事件重现参数中不被考虑,即使该属性是允许的,并且
参数[:事件重现]
包含该属性

有什么想法吗?我试过很多东西,但都不管用。 谢谢大家!

来自:

允许的标量类型有字符串、符号、类、数值、, TrueClass、FalseClass、日期、时间、日期时间、StringIO、IO、, ActionDispatch::Http::UploadedFile和Rack::Test::UploadedFile

声明params中的值必须是允许的 标量值将键映射到空数组:

因此,您需要这样做:

params.require(:event_recurrence).permit(:room_id, [...], :every, on: [])

非常感谢。不过有一个小改动:
params.require(:event_recurrence)。permit(:room_id,[…],on:[…],:every)
给我带来了语法错误,但将其更改为
params.require(:event_recurrence)。permit(:room_id,[…],:every,on:[…])
使其正常工作(注意数组位于末尾)。