Rails + CarrierWave: NoMethodError: undefined method `name' for nil:NilClass这里已经有类似的问题,但是解决方法是修复拼写错误。Carrierwave NoMethodError:未定义方法`name'为零: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
在控制器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 (?, ?, ?, ?, ?)
我看不到错误,并且不明白,其中的名称来自哪里。当在AR模型中离开mount_uploader:upload,DataFileUploader时,一切正常。
这里有什么问题?
非常感谢!
请检查该链接了: http://stackoverflow.com/questions/7464536/rails-carrierwave-nomethoderror-undefined-method-name-for-nilnilclass – 2012-03-07 16:39:47
感谢 - 但实际上我已经指这篇文章,但它不提供解决方案.... – awenkhh 2012-03-09 18:16:09