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