为了账号安全,请及时绑定邮箱和手机立即绑定

在rails redirect_to中传递参数

在rails redirect_to中传递参数

汪汪一只猫 2019-10-25 14:46:17
我们如何在rails的redirect_to中传递参数?我知道我们可以使用以下方式传递ID:redirect_to :action => action_name,:id => 3如果我想传递其他参数(例如某些表单数据)怎么实现呢?编辑:对于Ruby 2语法,您必须将上面的代码段更新为:redirect_to action: action_name, id: 3
查看完整描述

3 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

只需将它们附加到选项:


redirect_to controller: 'thing', action: 'edit', id: 3, something: 'else'

会屈服 /thing/3/edit?something=else


查看完整回答
反对 回复 2019-10-25
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

如果您正在使用RESTful资源,则可以执行以下操作:


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


or

#You can also use the object_id instead of the object

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


or

#if its a collection action like index, you can omit the id as follows

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


#An example with nested resource is as follows:

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


查看完整回答
反对 回复 2019-10-25
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

您可以使用flash参数将任意对象传递到模板。


 redirect_to :back, flash: {new_solution_errors: solution.errors}

然后通过哈希在模板中访问它们。


<% flash[:new_solution_errors].each do |err| %>


查看完整回答
反对 回复 2019-10-25
  • 3 回答
  • 0 关注
  • 763 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信