这可能是一个非常n00b的问题,但是如果您的参数列表包含一堆不可访问的属性,即
params = {"controller"=>"api1/users", "action"=>"create"}
什么是“清理”你的参数的最佳方法,以便它们只包含可访问的属性。我目前想到的当前方法是:
User._accessible_attributes[:default].entries
这给了我一个可访问属性的列表,然后只传递这些参数:
["", "email", "password", "fb_token", "fb_id", "fb_name", "first_name", "last_name", "gender"
另一种可能的方法是:
def clean_params #ANTIPATTERN
params.delete(:controller)
params.delete(:action)
end
但这也感觉像是一种反模式......
我知道您应该执行类似 params[:user] 的操作来仅获取可访问的参数,但因为这是一个 API,所以能够仅在 url 中传递东西会很好。
谢谢!