我正在构建一个允许我发布图片的博客,当有新图片出现时,我收到错误说"要求attr_accessor为' image_file_name'&#34 ;。所以我把我的" attr_accessor:image"在那里我得到一个"未定义的方法错误' attr_accessor'"。 https://github.com/BBaughn1/savagelysaving< - 如果你需要它的github
def create
@post = Post.new(post_params)
if @post.save
redirect_to @post
else
render 'new'
end
end
这是在错误之前,
def create
attr_accessor :image
@post = Post.new(post_params)
if @post.save
redirect_to @post
else
render 'new'
end
end
这是在错误之后。 并且,我之前得到了这个错误,但修复了它:
def update
@post = Post.find(params[:id])
attr_accessor :image
if @post.update(params[:post].permit(:title, :body, :image))
redirect_to @post
else
render 'edit'
end
end
put" attr_accessor:image"在" @post = Post.new(post_params)"之前会给我同样的错误,说我需要" attr_accessor"
答案 0 :(得分:1)
看起来这只是命名不匹配。 Your schema显示您具有avatar_file_name,avatar_content_type,avatar_file_size和avatar_updated_at属性。但在your model中,您有has_attached_file :image
。这两项should match up。听起来你可能想要has_attached_file :avatar
。您将需要替换"图像"的其他相关事件。用"头像"在你的视图和控制器中。您还应该从模型中删除attr_accessor :image
。您的错误表示数据库中不存在您已定义的结构所需的字段。