Rails - 如何从不同的模型调用控制器方法?

时间:2017-11-10 22:29:03

标签: ruby-on-rails model-view-controller devise ruby-on-rails-5

我有一个PagesController来处理我的应用程序的所有静态页面。它有一个名为join_session的方法,它呈现视图pages/page_a.html.erb。这很有效。

我的问题:我正在编写一种方法,在用户重新登录时呈现上次查看的页面(使用User模型中的Devise hook after_database_authentication)。

我可以从PagesController模型中调用join_session User方法吗?

[我无法弄清楚如何做到这一点,所以我尝试了一个hacky解决方法:在PagesController中编写和调用类方法,并在那里渲染视图,但由于新方法的名称不匹配路径中控制器方法的名称,无法解析视图中的变量。]​​

我的路线:

get 'pages/page_a', to: 'pages#join_session'

非常感谢帮助! :)

1 个答案:

答案 0 :(得分:0)

我认为在您的ApplicationController中有一种非常标准的方法可以执行此操作,您应该查看Devise的本指南。

https://github.com/plataformatec/devise/wiki/How-To:-redirect-to-a-specific-page-on-successful-sign-in

我希望这会有所帮助。如果您有任何问题,请告诉我。