相关疑难解决方法(0)

Rails + CarrierWave:NoMethodError:nil的未定义方法`name':NilClass

我正在使用CarrierWave和Rails 3.1.我提交表单(尝试上传图像)时收到以下错误消息:

错误信息:

ActiveRecord::StatementInvalid in Admin::PostsController#create

NoMethodError: undefined method `name' for nil:NilClass: INSERT INTO "posts" ("body", "created_at", "draft", "image", "post_type", "title", "updated_at", "user_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?)
Rails.root: /Users/aziz/Sandbox/ruby/rails/Tumblelog

Application Trace | Framework Trace | Full Trace
app/controllers/admin/posts_controller.rb:18:in `create'
Request

Parameters:

{"utf8"=>"?",
 "authenticity_token"=>"za+zNRDGNCcujnCmO726cWCo2ze1rgaXv5bL17JGaek=",
 "post"=>{"image"=>#<ActionDispatch::Http::UploadedFile:0x000001014aeff0 @original_filename="AzizLight.jpeg",
 @content_type="image/jpeg",
 @headers="Content-Disposition: form-data; name=\"post[image]\"; filename=\"AzizLight.jpeg\"\r\nContent-Type: image/jpeg\r\n",
 @tempfile=#<File:/var/folders/ky/2ddtbt0d7k1g__2ctr8njcfc0000gn/T/RackMultipart20110918-21704-hp2ajt>>,
 "draft"=>"0",
 "user_id"=>"2",
 "post_type"=>"image"},
 "commit"=>"Post"}
Run Code Online (Sandbox Code Playgroud)

问题是我不知道它name来自哪里,我不知道哪个变量是零,所以我无法正常调试(我试着调试日志然后再问这里).第18行对应@post.save于以下控制器中的行:

PostsController:

# ...

def new
  @post = Post.new
  @form_html_options = (params[:post_type] == "image") …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails nomethoderror carrierwave

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

carrierwave ×1

nomethoderror ×1

ruby-on-rails ×1