簡単な CSV アップロードがあります。
モデル:
def import_links(file)
CSV.foreach(file.path) do |row|
links.create(Hash[%w(url text description).zip row])
end
end
形:
<%= form_tag import_links_board_path(@board), multipart: true do %>
<%= file_field_tag :file %><br/>
<%= submit_tag "Import" %>
<% end %>
コントローラ:
def import_links
@board = Board.find(params[:id])
@board.import_links(params[:file])
redirect_to @board
end
このモデルの #import_links メソッドをテストしたいので、おそらく次のようなものが必要です。
before :each do
@file = ...
end
残念ながら、このファイルを生成する方法がわかりません (手動で、または FactoryGirl を使用する方がよいでしょう)。
手伝ってくれてありがとう。