2016-07-14 11 views
0

我想做一个重定向从url到另一个在rails 4中。在做重定向之前我想处理其中一个参数并更改其参数在某些条件下值(或不改变它),然后做一个重定向。这是我迄今试图创建一个自定义的方法,并在路径中的ruby中routes.rb中调用它4

#routes.rb 
get 'Client/:f_name/:l_name', to: redirect { |params, req| 
     "clients_area/#{params[:f_name].parameterize}/#{my_process_params_method(params[:fname], params[:lname]) }" 
     } 

但我不断收到错误

未定义的方法`my_process_params_method”的ActionDispatch ::路由::映射:0x007fe1db4e4e08>

上午什么我在这里做错了吗?还是有更好的解决方案?

事情是我必须在路线级别做这个重定向,而不是创建一个操作来照顾它。

+0

但是什么可以防止在您的操作/方法中更改此参数? –

+0

为什么不创建控制器方法并从那里重定向到任何你想要的地方? – power

+0

这些是我们必须为seo原因重定向的传统网址。他们必须这样做。我无法重定向重定向,因为这对于seo原因也不好 – anyavacy

回答

1

我意识到了这个错误。模块中的方法应该被声明为一个类方法(self.method_name),并且该方法应该被调用为MyModul.my_process_params_method(var1, var2)

相关问题