我有一个简单的文件上传表单,用户应该能够从他们的机器中选择一个 csv 文件,然后将其保存到文件夹中。我正在尝试使用 Carrierwave,而我的应用程序是在 Ruby on Rails 中构建的。
当我尝试保存文件时,我收到错误“没有路由匹配 [POST]”/customers/new”。
这是各种组件。
/new.html.erb
<%= form_for :dataload, :html => {:multipart => true} do |f| %>
<p>
<%= f.file_field :file %>
</p>
<p><%= f.submit %></p>
<% end %>
/models/dataload.rb
class Dataload < ActiveRecord::Base
attr_accessible :file_name, :request_user, :source
mount_uploader :file, CustomerWarrantyUploader
end
*/uploaders/customer_warranty_uploader.rb*
class CustomerWarrantyUploader < CarrierWave::Uploader::Base
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(csv)
end
*customers_controller.rb(新方法;我没有对此做任何事情)*
def new
@customer = Customer.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @customer }
end
end
这是客户的当前路线
resources :customers
我不确定问题是什么,尝试了各种类似的方法。任何建议表示赞赏。