Rails将params传递给另一个控制器

时间:2015-02-28 13:12:09

标签: ruby-on-rails ruby

我的rails应用程序结构为

TestApp 
| app 
____| assets 
____| controllers 
__________| app 
_______________| v1
______________________| mobile_controller
_____ test_controller
____| helpers 
____| mailers 
____| models 
____| views 
_________| test
______________| _form
______________| edit
______________| index
______________| show
______________| index
| bin 
| config 
| custom 
| db 
| lib 
| log 
| public 
|.... 
|.... 

我有两个控制器Mobile,Test

移动控制器拥有所有API

class Api::V1::MobileController  < ApplicationController 

    # POST method
    def taskCompleted

        respond_to do |format|

        format.html { redirect_to '/thankyou', :params => params, :isValid => true }            

    end
end

当调用taskCompleted方法时,我想显示一个感谢屏幕 所以,我在TestController中调用index方法,

 class TestController  < ApplicationController 

    def index


    end
end

在app / views / test /我有index.html,我有HTML内容。

但是我无法接收从移动控制器中的taskCompleted方法传递的参数,在测试控制器的索引方法中

这可能吗?

或者我是否需要为移动控制器创建视图?

1 个答案:

答案 0 :(得分:2)

您应该使用参数使用Rails helper构建URL:

redirect_to test_path(param1: 'value', ...)

或指定控制器和操作:

redirect_to controller: 'Test', action: 'index', param1: 'value', ... 

在您的情况下,您只需重定向到没有参数的'/ thankyou'网址。