unknown属性:uploaded_file - Rails 4

时间:2014-06-06 13:46:10

标签: ruby-on-rails ruby-on-rails-4

Rails 4 Ruby 2.0 Windows 8.1

在我看来,我有以下内容:

<%= f.file_field :uploaded_file, label: "Image" %>

在我的控制器中,我有以下内容:

  def create
    @agent = Agent.new(agent_params)
    ........
  end

    def agent_params
      params.require(:agent).permit(:uploaded_file, :first, :last, :email)
    end  

当我尝试创建代理时,收到以下错误消息:

    unknown attribute: uploaded_file

它指向这行代码:

@agent = Agent.new(agent_params)

uploaded_file在允许的参数列表中,我可以在参数中看到它(查看日志文件)。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

当给定模型中不存在指定字段时,您将获得unknown attribute error

在您的情况下,uploaded_file既不是agents表中的字段,也不是attr_accessor :uploaded_file模型中导致错误的虚拟属性(由Agent定义)。< / p>

要解决此问题,您必须向uploaded_file表添加名为agents的字段,或在Agent模型中添加虚拟属性attr_accessor :uploaded_file

注意: 仅供参考,请查看CarrierWavePaperclip宝石,为ActiveRecord提供简单的文件附件管理。