【问题标题】:How do I setup Rails Associations with Devise and scaffold generated models?如何使用设计和脚手架生成的模型设置 Rails 关联?
【发布时间】:2012-02-29 02:37:33
【问题描述】:

我正在使用带有 Devise 的 rails 3.1 进行用户身份验证...

我无法让两个脚手架生成的模型之间的关联正常工作,或者我无法正确访问它。

我有两个模型:用户(设计)和发布

我在 Post 模型中添加了 belongs_to :user 标签,在 User 模型中添加了 has_many :posts

当我从 app 目录中的终端打开一个 Rails 控制台 rails c 时,我认为我应该能够通过用户模型引用 Post 模型。例如User.post.count,但我不断收到NoMethodError: undefined method "post" 错误。

我已经浏览了所有的 guide.rails.org,然后又浏览了 railstutorial.org 的书,我肯定在某个地方遗漏了一些东西。

任何帮助将不胜感激。

【问题讨论】:

  • 这里有两个潜在的问题。帖子与特定用户相关联,因此 User.post.count 没有任何意义。如果您有一个用户对象(user = User.first),那么您可以合理地询问他们在 user.posts.count 中有多少帖子,但它应该是复数...

标签: ruby-on-rails-3 ruby-on-rails-3.1 devise


【解决方案1】:

您是否添加了将 user_id 添加到帖子表的迁移?如果没有该外键,Rails 无法确定哪些用户与哪些帖子相关联。

【讨论】:

    猜你喜欢
    • 2018-03-28
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 2013-01-11
    相关资源
    最近更新 更多