2017-09-14 4 views
0

デバイス+レールapiをセットアップして登録コンポーネントを作成しました。 ユーザーを作成してデータベースにチェックインした後、フォームのフィールドに名前とニックネームを追加したにもかかわらず、プログラムは電子メールとパスワードのみをコミットしました。Angular2tokenを使って名前を投稿するには?

レールコンソール

User Load (0.6ms) SELECT "users".* FROM "users" ORDER BY "users"."id" DESC LIMIT ? [["LIMIT", 1]] 
=> #<User id: 5, provider: "email", uid: "[email protected]", name: nil, nickname: nil, image: nil, email: "[email protected]", created_at: "2017-09-14 00:48:13", updated_at: "2017-09-14 00:48:14"> 

登録成分Raで

import { Component, OnInit } from '@angular/core'; 
import { Angular2TokenService, RegisterData } from 'angular2-token'; 

@Component({ 
    selector: 'register', 
    templateUrl: './register.component.html', 
    styleUrls: ['./register.component.css'] 
}) 
export class RegisterComponent { 

registerData: RegisterData = <RegisterData>{}; 
output: any; 
    constructor(private _tokenService: Angular2TokenService) { } 



    onSubmit() { 

    this.output = null; 

    this._tokenService.registerAccount(this.registerData).subscribe(

    res => { 
    this.registerData = <RegisterData>{}; 
    this.output  = res; 
    }, error => { 
    this.registerData = <RegisterData>{}; 
    this.output  = error; 
    } 
); 
    } 

} 

登録コンポーネントHTML

<form (ngSubmit)="onSubmit()"> 
    <div class="row"> 
    <ul> 
     <li> 
<input type="text" name="name" placeholder="Name" required [(ngModel)]="registerData.name"> 
</li> 
<li> 
<input type="text" name="username" placeholder="Username" required [(ngModel)]="registerData.nickname"> 
</li> 
<li> 
<input type="text" name="email" placeholder="Email" required [(ngModel)]="registerData.email"> 
</li> 
<li> 
<input type="password" name="password" placeholder="Password" required [(ngModel)]="registerData.password"> 
</li> 
<li> 
<button type="submit">Register</button> 
</li> 
</ul> 
</div> 

答えて

0

TS我々は強力なパラメータを持っているILSはとても

は、あなたのapplication_controller.rbに

before_filter :configure_devise_params, if: :devise_controller? 
    def configure_devise_params 
    devise_parameter_sanitizer.for(:sign_up) do |u| 
     u.permit(:name, :nickname, :email, :password) 
    end 
    end 
を次の行を追加してください。
関連する問題