0
我有簡單的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)生成此文件。
感謝您的幫助。
這不完全是我所需要的。我想我通過將測試文件移動到'spec/fixtures'中,然後在'之前:每個'塊中'@file = fixture_file_upload'/links.txt','text/plain''來解決它。 –
剛剛測試過這個File.open,它工作的很好。不知道哪種方式更好。 –