参与没有被传递给新的行动

时间:2015-11-17 09:08:56

标签: ruby-on-rails forms parameters

我在视图中有一个表单:

<%= 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中并不陌生,但我不知道为什么会发生这种情况,而且我没有得到通过帮助方法的内容。

知道为什么会这样吗?

2 个答案:

答案 0 :(得分:1)

由于您尝试传递chichi参数,因此可以使用button_to,这基本上会创建一个空表单(您可以传递参数):

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

答案 1 :(得分:-1)

&#13;
&#13;
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 %>
&#13;
&#13;
&#13;