Redirect_to与字符串路径

时间:2012-03-24 16:14:44

标签: ruby-on-rails ruby-on-rails-3 routes

我正在尝试根据提交的表单上的参数重定向到某个位置。 如果params [:route] = group,我想重定向到groups_path。 我尝试了以下方法来重定向,但很明显,groups_path是一个变量而不是一个字符串。如何根据参数重定向?

redirect_to "#{params[:route]}s_path"

编辑: 意识到我可以重定向到实际的路径,但这似乎不是一种非常有效的方式。

redirect_to "/#{params[:route]}s"

2 个答案:

答案 0 :(得分:14)

redirect_to send("#{params[:route].pluralize}_path")

但我宁愿写一个包装器帮助器,根据params[:route]值返回相应的url helper。 params[:route]可能具有任何价值,您可能希望在这些情况下进行救援。

答案 1 :(得分:2)

发送可以调用私有方法,因此更好的是public_send

而是“#{params [:route]} s”使用“#{params [:route] .pluralize}

redirect_to public_send("#{params[:route].pluralize}_path")