创建一个自定义方法,并在rails 4中的ruby中的routes.rb中调用它

时间:2016-07-14 10:59:02

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

我正在尝试在rails 4中从url重定向到另一个。在执行重定向之前我想处理其中一个参数并在某些条件下更改其值(或不更改它),然后执行重定向。那是我到目前为止所尝试的内容

#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' for ActionDispatch :: Routing :: Mapper:0x007fe1db4e4e08>

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

问题是我必须在路线的层面进行重定向,而不是创建一个处理它的动作。

1 个答案:

答案 0 :(得分:1)

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