2016-06-16 3 views
0

В misc_definitions controller есть функция загрузки CSV. Загрузки CSV осуществляется с form_tag в index.html.erb:Rails 4: отсутствующий шаблон в CSV-загрузке

<%= form_tag misc_definitions_path(format: "csv", definition_category: 'role_definition'), method: :get do %> 
      <div class="form-inputs"> 
       <%= label_tag(:index_from, "Index From") %> 
       <%= text_field_tag('index_from', '1', size: 6) %> 
       <%= label_tag(:token, "Token ") %> 
       <%= text_field_tag('token?', '', size: 12) %> 

      <%= submit_tag 'CSV' %> 
      </div> 
     <% end %> 

В index контроллер, это:

def index 
    ..... 
    respond_to do |format| 
     format.html {@misc_definitions = @misc_definitions.page(params[:page]).per_page(@max_pagination) } 
     format.csv do 
      send_data @misc_definitions.role_to_csv('role_definition', params[:index_from].to_i, params[:token?]) if @definition_category == 'role_definition' 
     end 
     end 
    end 

После нажатия CSV на index странице, должны быть выполнены и начать загрузку кода в action index выше после удара format.csv. Однако есть ошибка шаблона отсутствует:

Missing template project_misc_definitionx/misc_definitions/index, project_misc_definitionx/application/index, application/index with {:locale=>[:"zh-CN"], :formats=>[:csv], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee]}. Searched in: * "C:/D/code/rails_proj/cis/app/views" * "C:/D/code/rails_proj/engines/user_manualx/app/views" * "C:/D/code/rails_proj/engines/project_misc_definitionx/app/views" * 

Мне интересно, почему submit CSV не попал в action index вместо хотя есть index.html.erb под C:/D/code/rails_proj/engines/user_manualx/app/views. Что мне здесь не хватает в загрузке CSV?

ответ

1

Является ли заявление if в конце этой строки виновником?

send_data @misc_definitions.role_to_csv('role_definition', params[:index_from].to_i, params[:token?]) if @definition_category == 'role_definition' 

Это не собирается запускать send_data с данными CSV, если значение @definition_category «s не является role_definition. В других случаях Rails будет искать шаблон представления для запуска.

+0

Вы правы !. Немного странно, что параметры отсутствуют. Но это проблема. Благодарю. – user938363