ユーザーが自分のマシンからcsvファイルを選択し、それをファイルフォルダーに保存できるようにする簡単なファイルアップロードフォームがあります。Carrierwaveを使用しようとしていますが、アプリはRubyonRailsで構築されています。
ファイルを保存しようとすると、「[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
さまざまな同様のアプローチを試したので、問題が何であるかはわかりません。アドバイスをいただければ幸いです。