Rails 4-关联无法正常工作

psantos

我使用如下的rails生成器创建了2个模型:

$ bin / rails g模型管理器名称:字符串

$ bin / rails g模型博客/帖子标题:字符串管理器:引用

这样,我有2个模型文件:

# app/models/manager.rb
class Manager < ActiveRecord::Base
    has_many :blog_posts
end

# app/models/blog/post.rb
class Blog::Post < ActiveRecord::Base
    belongs_to :manager
end

转到rails控制台,我可以创建一个经理和一个这样的帖子:

$ manager1 = Manager.new
$ manager1.name =“ John Doe”
$ manager1.save

$ post1 = Blog :: Post.new
$ post1.title =“ Hello World”
$ post1.manager = manager1
$ post1.save

在控制台上,如果我这样做:

$ post1.manager.name

完美地运作。返回经理的姓名。但是,如果我这样做:

$ manager1.blog_posts

我希望得到经理职位的清单。但我收到此错误:

NameError:未初始化的常量Manager :: BlogPost

当我尝试在“博客:类别(app / models / blog / category)”和“博客:: Post(app / models / blog / post.rb)”之间进行多对多关系时,会遇到相同的问题

更新

@Pavan解决了我的第一个问题...在此解决方案的基础上,我尝试执行以下操作:

# app/models/blog/post.rb
class Blog::Post < ActiveRecord::Base
    belongs_to :manager
    has_and_belongs_to_many :blog_categories, class_name: 'Blog::Category', foreign_key: 'blog_category_id'
end

和:

# app/models/blog/category.rb
class Blog::Category < ActiveRecord::Base
    has_and_belongs_to_many :blog_posts, class_name: 'Blog::Post', foreign_key: 'blog_post_id'
end

基于此http://guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association,我生成了以下迁移:

class CreateBlogCategoriesPosts < ActiveRecord::Migration
  def change
    create_table :blog_categories_posts, id: false do |t|
      t.belongs_to :blog_post, index: true
      t.belongs_to :blog_category, index: true
    end
  end
end

但是当我在控制台上尝试时:

$ post1 = Blog :: Post.first
$ post1.blog_categories

我收到此错误:

2.2.2:002> p.blog_categories PG :: UndefinedColumn:错误:列blog_categories_posts.category_id不存在LINE 1:... log_categories_posts“ ON” blog_categories“。” id“ =” blog_cate ...“ ^:选择” blog_categories “。* FROM” blog_categories“内部联接” blog_categories_posts“ ON” blog_categories“。” id“ =” blog_categories_posts“。” category_id“ WHERE” blog_categories_posts“。” blog_category_id“ = $ 1 ActiveRecord :: StatementInvalid列blog_categories_posts.category_id不存在LINE 1:... log_categories_posts“ ON” blog_categories“。” id“ =” blog_cate ... ^:SELECT“ blog_categories”。* FROM“ blog_categories” INNER JOIN“blog_categories_posts“ ON” blog_categories“。” id“ =” blog_categories_posts“。” category_id“ WHERE” blog_categories_posts“。” blog_category_id“ = $ 1

帕万

NameError:未初始化的常量Manager :: BlogPost

您已经has_namy :blog_posts在中定义了manager.rb,因此Rails将寻找您所用的a classname BlogPost

您应该明确指定,classname以告知Rails使用它。

# app/models/manager.rb
class Manager < ActiveRecord::Base
  has_many :blog_posts, class_name: 'Blog::Post'
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails 4 xeditable无法正常工作

来自分类Dev

与Rails的简单关联问题,无法正常工作

来自分类Dev

基于关联的 Rails 顺序无法正常工作

来自分类Dev

Rails 4-config.ssl_options无法正常工作

来自分类Dev

Elasticsearch和Tyre in Rails 4进行的Asciifolding无法正常工作

来自分类Dev

Rails4:Ajax(ujs)无法正常工作-感到困惑

来自分类Dev

Rails4:渴望加载无法正常工作

来自分类Dev

jQuery和AJAX在Rails 4中无法正常工作

来自分类Dev

Rails无法正常工作

来自分类Dev

rails 4:祖先工作不正常?

来自分类Dev

rails 4:祖先工作不正常?

来自分类Dev

关联条件Rails 4

来自分类Dev

关联条件Rails 4

来自分类Dev

构建关联 Rails 4

来自分类Dev

InfoBoxBuilder gmaps4rails v2无法正常工作

来自分类Dev

Rails 4 ActionMailer发送带有名称的电子邮件无法正常工作

来自分类Dev

Rails 4和Gon-无法正常工作?window.gon = {};

来自分类Dev

wisyhtml5(rails-4)图像按钮无法正常工作

来自分类Dev

Rails 4 ActionMailer发送带有名称的电子邮件无法正常工作

来自分类Dev

page:load无法正常工作-Rails 4上的jquery和turbolinks

来自分类Dev

Rails 4 +全球化+ Activeadmin + activeadmin-globalize,activeadmin-translate无法正常工作

来自分类Dev

Rails 4-Devise 3无法正常工作(Users :: RegistrationController#create中的NoMethodError)

来自分类Dev

Rails 4 + Jquery使用jquery重定向页面,然后返回,jquery无法正常工作

来自分类Dev

Rails 4:有条件的if语句,coffeescript无法正常工作

来自分类Dev

在Ruby on Rails 4中使用ActiveModel进行验证似乎无法正常工作

来自分类Dev

尽管尝试了一切,Rails 4 Bootstrap模态JavaScript无法正常工作

来自分类Dev

无法在Rails中正常工作

来自分类Dev

Rails查询无法正常工作

来自分类Dev

无法让茧在Ruby on Rails 4上工作

Related 相关文章

  1. 1

    Rails 4 xeditable无法正常工作

  2. 2

    与Rails的简单关联问题,无法正常工作

  3. 3

    基于关联的 Rails 顺序无法正常工作

  4. 4

    Rails 4-config.ssl_options无法正常工作

  5. 5

    Elasticsearch和Tyre in Rails 4进行的Asciifolding无法正常工作

  6. 6

    Rails4:Ajax(ujs)无法正常工作-感到困惑

  7. 7

    Rails4:渴望加载无法正常工作

  8. 8

    jQuery和AJAX在Rails 4中无法正常工作

  9. 9

    Rails无法正常工作

  10. 10

    rails 4:祖先工作不正常?

  11. 11

    rails 4:祖先工作不正常?

  12. 12

    关联条件Rails 4

  13. 13

    关联条件Rails 4

  14. 14

    构建关联 Rails 4

  15. 15

    InfoBoxBuilder gmaps4rails v2无法正常工作

  16. 16

    Rails 4 ActionMailer发送带有名称的电子邮件无法正常工作

  17. 17

    Rails 4和Gon-无法正常工作?window.gon = {};

  18. 18

    wisyhtml5(rails-4)图像按钮无法正常工作

  19. 19

    Rails 4 ActionMailer发送带有名称的电子邮件无法正常工作

  20. 20

    page:load无法正常工作-Rails 4上的jquery和turbolinks

  21. 21

    Rails 4 +全球化+ Activeadmin + activeadmin-globalize,activeadmin-translate无法正常工作

  22. 22

    Rails 4-Devise 3无法正常工作(Users :: RegistrationController#create中的NoMethodError)

  23. 23

    Rails 4 + Jquery使用jquery重定向页面,然后返回,jquery无法正常工作

  24. 24

    Rails 4:有条件的if语句,coffeescript无法正常工作

  25. 25

    在Ruby on Rails 4中使用ActiveModel进行验证似乎无法正常工作

  26. 26

    尽管尝试了一切,Rails 4 Bootstrap模态JavaScript无法正常工作

  27. 27

    无法在Rails中正常工作

  28. 28

    Rails查询无法正常工作

  29. 29

    无法让茧在Ruby on Rails 4上工作

热门标签

归档