Я работаю над приложением, которое анализирует различные формы электронных таблиц. Он работал для CSV, и теперь я пытаюсь расширить его до XLS, XLSX, ODS и Google Spreadsheets, используя roo gem.
Я хочу, чтобы загруженный файл был правильно проанализирован в зависимости от имени файла. Я пытался сделать это с помощью регулярных выражений и переключений и если утверждения, но до сих пор это не сработало. Кажется, проблема в условии с регулярным выражением, потому что даже файлы CSV больше не анализируются.
Вот моя текущая версия:
def create
@deck = Deck.new
@deck.name = params[:uploadform][:name]
@deckmsg = ""
if @deck.save
@deckmsg='Deck was successfully created.'
else
respond_to do |format|
format.html { render action: "new", notice: 'Deck was not created.' }
end
end
if params[:uploadform][:file] =~ /.*(csv)$/
begin
@answers = Array.new
@questions = Array.new
CSV.parse(params[:uploadform][:file].read) do |row|
Если я возьму оператор if, он сработает, поэтому проблема должна быть в этом. Я использую обычную форму загрузки.