-1

ActiveRecordsaveメソッドに関する初心者の質問。このコードがある場合(レールガイドのように):

def create
  @post = Post.new(params[:post])

  if @post.save
      redirect_to @post
  else
      .....
  end
end

save メソッドは新しく作成されたPostオブジェクトを返しますか? コード の後@post.save、レールはredirect_to @postを適切なpost_id(1 または 2 または 3 または ....) に置き換えてリンクを構築する方法をどのように知っていますか?

4

2 に答える 2

3

これは OOP の概念です。したがって、作成後、@post は ID で更新され、すべてが機能します。

このコードを見てください。

それが役に立てば幸い。

于 2013-01-25T19:48:56.277 に答える
0

物事を理解しやすくする別のコードを提示して説明します

def create
    @user = User.new(params[:user])
    if @user.save
      redirect_to @user

:userUser モデルに基づく次の情報が含まれるようになりました: ID、名前、電子メール、電話。

つまり@user、上記のハッシュに実際に割り当てたことを意味します。

redirect_to、すでに保存されているハッシュを取得し@user、新しいプロファイル ページを表示します。

お役に立てば幸いです。

于 2013-01-25T20:29:42.293 に答える