我试图强制我的控制器在传递时需要几个不同的参数。任何想法如何在一行中做到这一点? (或正确的方法)
params.require(:facebook_message).require(:access_token)
params.require(:facebook_message).require(:facebook_user_id)
params.require(:facebook_message).require(:message_body)
params.require(:facebook_message).permit(
:access_token, :facebook_user_id, :message_body, :message_subject
)
答案 0 :(得分:2)
params.require目前只允许一个参数:
### File actionpack/lib/action_controller/metal/strong_parameters.rb, line 182
def require(key)
self[key].presence || raise(ParameterMissing.new(key))
end
答案 1 :(得分:1)
%i(access_token facebook_user_id message_body).each do |param_key|
params.require(:facebook_message).require(param_key)
end
params.require(:facebook_message).permit(
:access_token, :facebook_user_id, :message_body, :message_subject
)
不完全是单行,但它节省了一些空间......