我想将作者添加到我的文章中:
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
答案 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