无法理解 rails 4.2 中语法错误的原因
Can't understand reason for syntax error in rails 4.2
我有以下代码:
params.require(:posting_status).permit(:email, :craig_password, :mail_password, :posting_id, post_to:[])
这一行没有给出语法错误,但是当我喜欢时:
params.require(:posting_status).permit(:email, :craig_password, :mail_password, post_to:[], :posting_id)
语法错误,找不到原因。
在第一种情况下,您在开头使用了符号,在末尾使用了(隐含的!)散列。
在第二种情况下,隐式散列不在末尾。
显式哈希解决了这个问题。
params.require(:posting_status).permit(:email, :craig_password, :mail_password, {post_to:[]}, : posting_id)
P.S。
'permit'方法的源代码:
文件 actionpack/lib/action_controller/metal/strong_parameters.rb,第 325 行
def permit(*filters)
params = self.class.new
filters.flatten.each do |filter|
case filter
when Symbol, String
permitted_scalar_filter(params, filter)
when Hash then
hash_filter(params, filter)
end
end
unpermitted_parameters!(params) if self.class.action_on_unpermitted_parameters
params.permit!
end
我有以下代码:
params.require(:posting_status).permit(:email, :craig_password, :mail_password, :posting_id, post_to:[])
这一行没有给出语法错误,但是当我喜欢时:
params.require(:posting_status).permit(:email, :craig_password, :mail_password, post_to:[], :posting_id)
语法错误,找不到原因。
在第一种情况下,您在开头使用了符号,在末尾使用了(隐含的!)散列。
在第二种情况下,隐式散列不在末尾。 显式哈希解决了这个问题。
params.require(:posting_status).permit(:email, :craig_password, :mail_password, {post_to:[]}, : posting_id)
P.S。 'permit'方法的源代码:
文件 actionpack/lib/action_controller/metal/strong_parameters.rb,第 325 行
def permit(*filters)
params = self.class.new
filters.flatten.each do |filter|
case filter
when Symbol, String
permitted_scalar_filter(params, filter)
when Hash then
hash_filter(params, filter)
end
end
unpermitted_parameters!(params) if self.class.action_on_unpermitted_parameters
params.permit!
end