Rails:如何在另一个控制器中使用一个控制器的参数?

时间:2017-04-26 03:28:27

标签: ruby-on-rails

我有这样一个名为'new'的表格:

<h1> Login</h1>
   <%= form_tag(index_path) do -%>
   <%= label_tag 'Usuário:' -%>
   <%= text_field_tag 'Usuario', '', size: 30-%> <br />
   <%= label_tag 'Senha:' -%>
   <%= password_field_tag 'Senha', '', size: 30-%><br />

<div><%= submit_tag 'Logar' %></div>
<% end -%>`

我有一个名为'login'的控制器,如下所示:

class LoginController < ApplicationController
   def new  
   end
end

我想在另一个名为'github'的控制器中使用这个参数,我如何在github控制器和视图中使用'login'参数。

1 个答案:

答案 0 :(得分:0)

如果您想跳过登录控制器,可以按照Alex的回答。但是如果你想通过登录访问github控制器,那么你应该使用redirect_to。你可以在redirect_to中传递params,就像这样

redirect_to action_name_resource_path(resource_object, param_1: 'value_1', param_2: 'value_2')

或 您还可以使用object_id而不是对象

redirect_to action_name_resource_path(resource_object_id, param_1: 'value_1', param_2: 'value_2')

或 如果它是一个像index这样的集合动作,你可以省略id如下

redirect_to action_name_resource_path(param_1: 'value_1', param_2: 'value_2')

嵌套资源的示例如下:

redirect_to edit_user_project_path(@user, @project, param_1: 'value_1', param_2: 'value_2')