这可能是一个相当简单的问题,但我的目标是重定向到我的应用程序的另一部分并自信地传递参数。
现在,我想将:mobile和:content参数从“/ xxx”传递给“/ yyy”。
参数干净,精细到“/ xxx”,但我目前正在传递它们:
redirect_to "/yyy?mobile=#{params[:mobile]}&content=#{params[:content]}"
尽管有效,但这似乎有一个编码问题。空间出现为“%20”而不是“+”,而且看起来一般都很脏。
答案 0 :(得分:3)
您可以使用url_encode方法,例如:
redirect_to url_encode("/yyy?mobile=#{params[:mobile]}&content=#{params[:content]}")
或者只需使用带参数的redirect_to:
redirect_to :action => 'toto', :param_1 => 'titi', :param_2 => 'tata'
答案 1 :(得分:0)
正如我在评论中所说,创建这样的路线是铁路上的坏习惯。
所以你应该在routes.rb中设置路由,然后使用如下路由:
redirect_to yyy_path(:mobile => params[:mobile], :content => params[:content])