私はRoRを初めて使いました。コードの一部を理解するのに苦労しています。 私はそれを見てみましたが、結果は私を助けませんでした。私はこれを理解できませんか? (Ruby on Rails)
ここには、ユーザーコントローラにあるコードがあります。 (あなたが他のコードが必要な場合は、それをコメントし、私は
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(user_params) #I didn't see any parameters in the constructor
if @user.save #Checks if @user was saved?
session[:user_id] = @user.id #Creates a session? What's :user_id and @user_id?
redirect_to'/' #Redirects to http://localhost:8000/
else
redirect_to '/signup' #If all fails go back to signup page
end
end
private
def user_params
params.require(:user).permit(:first_name, :last_name, :email, :password)
end
end
これは正しく私にこれを説明するために失敗したプログラミングコースの一部で更新します。私は、これはサインアップフォームのためであることが一般的に承知していますが、私はトラブルを作成し、user_params機能のプロセスを理解したのです。
を私は何が起こっているかの過程を通して私を導くためにあなたを求めています助けを求めていたとき。 私も params.require(:user).permit(:first_name, :last_name, :email, :password)
実際には、すべてこれを手動で説明書として書いています。特にuser_paramsクラスでは、:userシンボルがどこから来たのか分かりません。 私の前提は次のとおりです。userはUserモジュールのテーブルで、first_name、last_nameなどはフィールドです。 –
そうです。 ':user'は' User'クラスにマップされ、 'user'テーブルにマップされます。これは、RoR規約を設定よりも呼び出す理由です。あなたはこれについて知りません。なぜなら、what:userが何の設定ファイルもないからです。あなたはJSONでPOSTする際にUserクラスが '' user ''スコープ内のすべてのフィールドを必要としていることを知っておく必要があります。 –