我在我的项目中收到此错误:
#
的未定义方法`image'
this is my code :
= simple_form_for @post do |f|
= f.input :image
= f.input :caption
= f.button :submit
这是我的模型post.rb
class Post < ApplicationRecord
class Post < ActiveRecord::Base
validates :image, presence: true
has_attached_file :image, styles: { :medium => "640x" }
validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/
end
end
这是我的控制器post_controller.rb
class PostsController < ApplicationController
def index
end
def new
@post = Post.new
end
end
答案 0 :(得分:1)
为什么要使用class Post < ActiveRecord::Base
新生成的应用程序app/models/application_record.rb
默认存在。新生成的模型必须从ApplicationRecord
继承,但仅限于它存在。
因此,如果您使用class Post < ActiveRecord::Base
,或者如果您需要,则删除不需要的此类rails >= 5
,然后删除第一个。
请参阅此参考资料Creating Active Record Models
未定义的方法`image&#39;
对于找不到你的模型的image
属性,请确保添加了该属性,如果还没有,那么写一个这样的命令
rails g migration AddImageToPosts image:string
然后运行rake db:migrate