이 정말 n00b 질문을 할 수있다 살균,하지만 PARAMS의 목록이 잔뜩 포함되어있는 경우 즉, 당신을 "소독"할 수있는 가장 좋은 방법은 무엇입력
params = {"controller"=>"api1/users", "action"=>"create"}
접근 속성 아니라고 액세스 할 수있는 속성 만 포함하도록 (듯이)합니다.
["", "email", "password", "fb_token", "fb_id", "fb_name", "first_name", "last_name", "gender"
또 다른 가능한 방법이있을 것입니다 : 다음 나에게 접근 속성의 목록을 제공하고
User._accessible_attributes[:default].entries
는 만 PARAMS을 통과 : 나는 현재의 생각 현재의 방법은하는 것입니다
def clean_params #ANTIPATTERN
params.delete(:controller)
params.delete(:action)
end
하지만이 또한 안티 패턴 것 같은 느낌이 든다 ...
나는 '당신이 알고 params [: user]와 같은 방식으로 접근 가능한 매개 변수를 얻으려고합니다. 그러나 이것이 API이기 때문에 url에있는 것들만 전달할 수 있으면 좋을 것입니다.
감사합니다.
레일즈가 이미 ['attr_accessible'] (http://api.rubyonrails.org/classes/ActiveModel/MassAssignmentSecurity/ClassMethods.html#method-i-attr_accessible)을 시행합니까? – sarnold