Rails 3.2未知的未知属性:author_id

时间:2013-06-10 17:51:11

标签: ruby-on-rails controller

我想将作者添加到我的文章中:

unknown attribute: author_id

控制器:

    def create
  @article = current_user.articles.new(params[:article])
  @article.save
flash.notice = "Article '#{@article.title}' Posted!"
  redirect_to article_path(@article)

MODEL1:

class Author < ActiveRecord::Base
  authenticates_with_sorcery!
  has_many :articles
  validates_confirmation_of :password, message: "should match confirmation", if: :password
end

MODEL2:

class Article < ActiveRecord::Base
   attr_accessible :title, :body, :tag_list, :image 
belongs_to :author
has_many :taggings
has_many :tags, through: :taggings
has_attached_file :image, :default_url => '/no_image.jpg'

end

遗憾的是我不知道什么是错的

////

  

在文章模型中,您应该使用author_id,因为作者有很多   文章。 user_id将用于将每篇文章指向特定的文章   作者

现在我明白了:

uninitialized constant Article::AuthorId

4 个答案:

答案 0 :(得分:1)

您可能需要将author_id添加到attr_accessible列表。

答案 1 :(得分:1)

在文章模型中,您应该使用author_id,因为作者有很多文章。 user_id将用于将每篇文章指向特定作者

答案 2 :(得分:1)

authors_attributes添加到作者模型中的attr_accessible。确保迁移中也有参考列。

在您的文章迁移中,您应该有这样一行:

t.references :author

答案 3 :(得分:1)

您需要通过迁移将author_id添加到数据库表中:

class AddAuthorToArticle < ActiveRecord::Migration
  def change
    add_column :articles, :author_id, :integer
  end
end