読者です 読者をやめる 読者になる 読者になる

クズと天才は紙一重

不定期更新です。主に日々の活動記録( ・ㅂ・)و ̑̑

ユーザー登録

現在、ユーザーには、情報がemailしかない状態なので

名前を追加する。

 

以下コマンドを実行

rails g migration AddColumnUser

AddColumnUserの部分は既存のmigrationファイルと名前が

被っていなければ何でも大丈夫です。

 

作成されたファイルに以下を記述する

add_column :users, :name, :string

で指定したテーブルにカラムを追加することができます

また、カラムを削除したい場合は

remove_columnを使用します。

興味がある方は

rails migrationで調べれば、さらに詳しいことがいろいろ出てくると思います

 

その後、以下コマンドを実行

rake db:migrate
bundle exec annotate

 

ユーザーのmodelにnameのカラムが追加されていると思います。

 

次に、登録画面を編集して、登録時に名前も登録できるようにします

 

views/devise/registrations/new.html.erbを編集することで

新規登録画面を編集することができます。

formのままだと、ややこしいので

simple_rorm に書き換えながら編集します

f:id:akahaya_719:20161205144534p:plain

最終的にこうなります。

simple_formを使うとformを楽に書くことができます

 

ただ、この状態で登録しても、ユーザーに名前は登録されません。

 

 

github.com

 

詳しくはこちらを見てください

 

ユーザー登録時に名前を登録するために

application_controller.rbに以下を追加します

before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
 devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
end

これで登録時に、名前を入力すればユーザーに名前が登録されます。

rails s でサーバーを起動し確認します

 

登録画面にnameが追加されました。

ユーザーを登録して、

ユーザー一覧で名前も見れるように変更しましょう

次回はユーザーに権限管理をつけましょう