Существует уже аналогичный вопрос здесь Rails + CarrierWave: NoMethodError: undefined method `name' for nil:NilClass, но решение там должно было исправить опечатку.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
В 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, DataFileUploader в модели AR, все работает нормально.
Что здесь не так?
Большое спасибо!
Попробуйте проверить эту ссылку из: http://stackoverflow.com/questions/7464536/rails-carrierwave-nomethoderror-undefined-method-name-for-nilnilclass –
спасибо - но на самом деле я уже имея в виду этот пост, но он не обеспечивает решение .... – awenkhh