Rails - ActiveRecord的保存方法如何工作?

时间:2013-01-25 19:47:18

标签: ruby-on-rails rails-activerecord

关于ActiveRecord的{​​{1}}方法的新手问题。 如果我有这个代码(如在rails指南中):

save

save方法返回新创建的def create @post = Post.new(params[:post]) if @post.save redirect_to @post else ..... end end 对象?在代码Post之后,rails如何知道如何用@post.save替换redirect_to @post(1或2或3或......)来构建链接?

2 个答案:

答案 0 :(得分:3)

这是一个OOP概念。 因此,在创建之后,使用id更新@post,一切正常。

看看this code

希望它有所帮助。

答案 1 :(得分:0)

我将通过展示另一段易于理解的代码来解释它

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

现在:user包含基于用户模型的以下信息:ID,姓名,电子邮件,电话。

这意味着我们实际上已将@user分配给上述哈希值。

redirect_to将检索已存储在@user中的哈希值,并显示新的个人资料页面。

我希望它有所帮助。