2015-11-17 2 views
1

У меня есть форма в представлении:Params не передаются в новое действие

<%= form_tag(new_admin_course_path(chichi: @provider.id), {method: :get}) do %> 
    <%= submit_tag I18n.t('views.courses.index.add_new') %> 
<% end %> 

@provider.id равно 1 (проверено с Pry).

new_admin_course_path земельные участки в courses_controller#new. С самого (с помощью binding.pry) действия Я получил содержание params и это то, что я нашел:

pry(#<Admin::CoursesController>)> params 
=> {"utf8"=>"✓", "commit"=>"Add course", "controller"=>"admin/courses", "action"=>"new"} 

я не новичок в Rails, но я понятия не имею, почему это происходит, и я не получая то, что я передаю через вспомогательный метод.

Любая идея, почему это происходит?

+1

Просто Почему вы используете форму для генерации запроса 'GET'? Это может быть обычный тег ссылки, созданный в виде кнопки. – Jon

+0

Или помощник 'button_to', который делает то же самое –

ответ

1

Поскольку вы пытаетесь передать свой параметр chichi, вы могли бы использовать button_to, который в основном создает пустую форму (вы можете пройти через Params):

<%= button_to I18n.t('views.courses.index.add_new'), new_admin_course_path, method: :get, params: { chichi: @provider.id } %> 
-1

Use This one: 
 

 
<%= form_tag(new_admin_course_path(chichi: @provider.id), method: :get) do %> 
 
    <%= submit_tag I18n.t('views.courses.index.add_new') %> 
 
<% end %>

Смежные вопросы