无法在其关联模型中创建模型

时间:2011-11-28 21:16:09

标签: ruby-on-rails

我有一个用户模型has_one Post模型,属于User_to User。通过before_save回调,我想创建一个(实际上是多个,但这是另一个问题)空(或更好,默认就像说“这是我的第一篇文章”)Post,每当新用户注册时。但是下面的功能:

def create_post
  @post = Post.new(params[:post])
  @post.user = self
  @post.save

给出错误:

未定义的局部变量或方法`params'代表#

问题可能是什么?

1 个答案:

答案 0 :(得分:0)

您无法访问模型中的params哈希值。

您不希望在after_save回调中执行此操作,而是使用after_createbefore_create我会说。

另外,我不明白为什么用户has_one发布...特别是如果你想创建几个。

在回调中:

  • 如果用户has_one:post

    self.create_post(default_values_hash)

  • 如果has_many:posts

    self.posts.create(default_values_hash)