백본 1.1.2와 레일즈 4.2.beta1을 사용하여 사용자 계정을 만들려고합니다. 백본에서레일스 account_params가 백본에서 매개 변수를 잃어 버림`.save()`
나는 호출 오전 : 올바르게 다음과 같은 요청 매개 변수를 사용하여 내 웹 서비스에 레일을 create
메소드를 호출
public create(){
var email:string = $('#create-account-email').val(), password:string = $('#create-account-password').val(), passconf:string = $('#create-account-password-confirm').val();
this.model.set({email: email, password: password, password_confirmation: passconf});
this.model.save(null, {success: this.success, error: this.error});
}
:
{"email":"[email protected]","password":"123456","password_confirmation":"123456"}
그것은 필터 방법을 겪고있다
def account_params
#breakpoint
params.require(:account).permit(:password, :password_confirmation, :email)
end
하지만 위의 중단 점을 배치하면 나에게 첫눈에 올바른 보이는
{"email"=>"[email protected]",
"password"=>"123456",
"password_confirmation"=>"123456",
"controller"=>"accounts",
"action"=>"create",
"account"=>{"email"=>"[email protected]"},
"format"=>"json"}
: 에드 자리는 내가 얻을 params
개체를 검사합니다.
{"email" => "[email protected]")
왜 계정 매개 변수 객체에 포함되지 않는 암호입니다 : 만 얻을 account_params
의 결과를 검사하는 경우 암호가 nil
때문에 그러나 계정 생성이 실패합니다. 레일과 백본의 기본 구성으로 모든 기본 고정 코드를 사용하고 있습니다.
양식을 게시 할 수 있습니까? – Mandeep
@Mandeep 위의 코드를 편집했습니다. 그것은 형식이지만'$(). val()'을 사용하여 양식을 읽고 있으므로이 코드를 포함 시켰습니다. – SnareChops
아, 그리고 어떻게이 매개 변수를 서버에 보내고 있습니까? 귀하의 params 해시를 살펴보면 그들은 올바르게 중첩되지 않는 것 같습니다. – Mandeep