gpt4 book ai didi

ruby-on-rails - 载波NoMethodError : undefined method `name' for nil:NilClass:

转载 作者:行者123 更新时间:2023-12-04 03:35:56 25 4
gpt4 key购买 nike

这里已经有类似的问题Rails + CarrierWave: NoMethodError: undefined method `name' for nil:NilClass但解决方案是修正一个拼写错误。

我已经在同一个项目中使用 Rails 和 Carrierwave,没有任何问题。有一个简单的 AR 模型:

class Upload < ActiveRecord::Base
attr_accessible :title, :data_file, :caption
mount_uploader :upload, DataFileUploader

validates :title, :data_file, :presence => true
end

在 Controller 中,thers 和往常一样:

def create
@upload = Upload.new(params[:upload])

if @upload.save
redirect_to new_admin_upload_path, :notice => t("site.successfully_created_resource")
else
render :action => 'new'
end
end

直截了当。提交表单时出现以下错误:

ActiveRecord::StatementInvalid in Admin::UploadsController#create

NoMethodError: undefined method `name' for nil:NilClass: INSERT INTO "uploads" ("caption",
"created_at", "data_file", "title", "updated_at") VALUES (?, ?, ?, ?, ?)

我没有看到错误,也不明白名称的来源。当离开 mount_uploader :upload, AR 模型中的 DataFileUploader 时,一切正常。

这里有什么问题吗?

非常感谢!

最佳答案

我有完全相同的错误,解决方案是将 uploader 连接到我模型中的现有字段。对于您的示例,修复将从

class Upload < ActiveRecord::Base
attr_accessible :title, :data_file, :caption
mount_uploader :upload, DataFileUploader

validates :title, :data_file, :presence => true
end

class Upload < ActiveRecord::Base
attr_accessible :title, :data_file, :caption
mount_uploader :data_file, DataFileUploader

validates :title, :data_file, :presence => true
end

如果您在上传模型中有 data_file 字段而没有上传字段(检查您的 db/schema.rb 文件会有所帮助)。

关于ruby-on-rails - 载波NoMethodError : undefined method `name' for nil:NilClass:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9593713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com