Ruby on rails Carrierwave上传don';我不在邮局露面

Ruby on rails Carrierwave上传don';我不在邮局露面,ruby-on-rails,ruby-on-rails-4,carrierwave,railscasts,Ruby On Rails,Ruby On Rails 4,Carrierwave,Railscasts,我正在跟踪,并设置了相同的文件。如果我通过控制台上传文件,上传效果很好,但我的表单似乎发布不正确 我有我的基本表格,包括: <%= f.label :receipt %><br> <%= f.file_field :receipt %> 但是,INSERT语句没有提到我的收据字段或文件。没有任何错误。该文件也没有上载到我在Carrierwave中指定的目录 你知道这里可能出了什么问题吗?这不是jQuery-Mobile的一个问题。发生了什么事我真的很困惑 编

我正在跟踪,并设置了相同的文件。如果我通过控制台上传文件,上传效果很好,但我的表单似乎发布不正确

我有我的基本表格,包括:

<%= f.label :receipt %><br>
<%= f.file_field :receipt %>
但是,INSERT语句没有提到我的收据字段或文件。没有任何错误。该文件也没有上载到我在Carrierwave中指定的目录

你知道这里可能出了什么问题吗?这不是jQuery-Mobile的一个问题。发生了什么事我真的很困惑

编辑:我可能还应该包括我的模型:

class Expense < ActiveRecord::Base
    mount_uploader :receipt, ReceiptUploader
end

看来params不允许上传。新手错误。

你的控制器方法是什么样的?您是否尝试使用检查参数是否在进入费用#创建或费用#更新之前被过滤掉?使用我的控制器方法更新了原始帖子,用于新建和创建。这是脚手架生成代码。另一方面,我安装了pry,但我不确定我应该用它寻找什么。基本上,我想知道expense_params[:Receive]是否具有预期值。你可能需要允许,难以置信。这是一个严重的新手失误——这正是问题所在。
class Expense < ActiveRecord::Base
    mount_uploader :receipt, ReceiptUploader
end
class ReceiptUploader < CarrierWave::Uploader::Base
    storage :file

    def store_dir
        "receipts"
    end
end
def new
  @expense = Expense.new
end

def create
  @expense = Expense.new(expense_params)

  respond_to do |format|
    if @expense.save
      format.html { redirect_to @expense, notice: 'Expense was successfully created.' }
      format.json { render action: 'show', status: :created, location: @expense }
    else
      format.html { render action: 'new' }
      format.json { render json: @expense.errors, status: :unprocessable_entity }
    end
  end
end