Rails:在控制器之间共享参数

时间:2015-12-08 10:13:42

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

我有一个rails 3应用程序,我正在开发一个机器人。

基本思想是用户可以使用自己喜欢的消息服务与应用程序进行通信。然后,机器人将评估收到的消息,并将消息指向正确的控制器和操作。请记住,这不应该在路由级别完成,因为评估需要执行查询,某些逻辑等。

虽然我知道可以将params发送到另一个Controller并简单地通过将变量传递给相应的方法(使用变量的默认值重构方法 - 像def hello( var_a = params['one'] , var_b = params['tow']...这样的东西)我不想这样,因为它需要重构很多编写的代码。

在这种情况下,我认为可以在控制器中创建一个初始化方法,我需要传递参数。类似的东西:

ExistingController < ApplicationController

def self.start_with_external_params ( params )
    # some code here 
end

然后通常在控制器中使用传递的参数 - 通过调用ExistingController.new.start_with_external_params(params).some_method但我无法弄清楚如何制作它,有人可以就此问题给我一些建议吗?

1 个答案:

答案 0 :(得分:0)

此链接可能会有所帮助。简而言之,我认为您可能想要查看重定向。

你陈述的情景分类提到你在一个控制器,行动并想要到另一个控制器。

希望这会有所帮助:Render and Redirect in Rails 3