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:[…])
使其正常工作(注意数组位于末尾)。