Paperclip上传图片时出现“未知属性:头像”的错误?

7

我运行了这个迁移:

rails generate paperclip user avatar

它创建了这个迁移文件:
class AddAttachmentAvatarToUsers < ActiveRecord::Migration
  def self.up
    change_table :users do |t|
      t.attachment :avatar
    end
  end

  def self.down
    drop_attached_file :users, :avatar
  end
end

我在编辑用户注册视图中添加了以下内容: ```html

我添加了这个:

```
<div class="form-group">
  <%= f.label :avatar %> <br>
  <%= f.file_field :avatar, :autofocus => true, class: 'form-control' %>
</div>

当我试图在编辑用户注册信息时上传头像,会出现以下错误:

Devise::RegistrationsController#update 中的 ActiveRecord::UnknownAttributeError 未知属性:avatar

编辑

我添加了

    def user_params
      params.require(:user).permit(:avatar)
    end

我对用户模型进行了更改,现在不再出现错误,但现在的个人资料图片只是打印成了一个链接。我认为我可以找到答案。


1
值得注意的是,您还需要在模型中包含has_attached_file,如下面的答案所述,否则您将收到相同的未知属性错误消息。 - Ed_
2个回答

13

你确定你已经通过控制器许可了:avatar属性吗? 另外,你在模型中是否提到了以下代码行?

has_attached_file :avatar

我忘了提到我的模型中有“has_attached_file :avatar”。对此很抱歉。 - Dylan Richards

5

新增

def user_params
  params.require(:user).permit(:avatar)
end

请联系我的用户控制器解决此问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接