データベースへのレコード追加、つまり「新規登録」を実装したいと思ってます。
Ruby
1 2[controller] 3 4def new 5 6@user_id = params[:user_id] #ID番号(整数) 7@password = params[:password] #パスワード(文字列) 8@last_name = params[:last_name] #姓(文字列) 9@first_name = params[:first_name] #名(文字列) 10@height = params[:height] #身長(整数) 11@weight = params[:weight] #体重(整数) 12@use = params[:use] #有無(true or falseで返ってくるが、数字の0,1がデータとして入る) 13 14@user = User.create(:user_id => "#{@user_id}", :password => "#{@password}", 15 :last_name => "#{@last_name}", :first_name => "#{@first_name}", 16 :height => @height.to_i, :weight => @weight.to_i, 17 :use => @use.to_i) 18end
これで新規登録自体は出来るのですが、
新規登録ページに遷移した際に
「 ID = , password = , last_name = , first_name = ,height = 0 , weight = 0 , use = 0 」
というデータが挿入されてしまいます。
なので、画面遷移時にクリエイトされないようにif文を書こうと思ったのですが
この場合どのように記述するのが正しいのでしょうか?
Ruby
1if @user_id != nil 2 #ここにパラメータ取得とクリエイト文 3end
これだと登録自体されなくなってしまいました。
何が間違っているのでしょうか?
初心者故に理解が足りていないところが多いですが、どなたかご教授お願いします。
合わせて疑問に思ったことなのですが、
・CREATE文中で、式展開するのとしないのとではどういう違いがありますか?
「 (:user_id => @user_id,~ 」 ← これだと何が悪いのか?
・身長、体重、有無に対して「.to_i」を付ける意味と、ID番号には付けなくても大丈夫な理由はなんでしょう?
・最後のCREATE文作成時に「@user」に代入していますが、これは何の意味がありますか?
すみませんが、どうぞよろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/01 01:37