从其他视图/控制器创建新会话或用户

时间:2011-11-10 03:26:36

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

我正在Mac OSX 10.6上创建一个Rails应用程序(我想知道如何在Rails 3.1和3.0中执行此操作)。

我正在使用PagesController来处理大部分静态页面,但是希望在主页上包含一个注册表单,并在我的PagesController生成的每个页面上的持久静态顶部栏中包含一个登录选项(home,about,contact,帮助等)。

当表单在给定控制器之外时,我会遇到一些麻烦 - >视图。例如,我有一个SessionsController,然后是视图(new.html.erb),我有一个表单,在提交时创建一个新会话用于登录。但是,我希望在SessionsController之外和属于PagesController的视图(即home.html.erb或about.html.erb)上实现相同的表单/功能。我想对注册功能做同样的事情:我想在home.html.erb上有一个注册表单,而不必将人们发送到UsersController中的“新”页面。在提交表单时,这似乎是一个简单的重定向操作,但我无法解决这个问题。有人能指出我正确的方向吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

一个选项是将注册表单(.erb)文件作为部分文件并将其包含在用户和页面控制器中。

通过这种方式,您的注册表可以移植到任何控制器。当表单在保存后发布时,您可以将用户重定向到请求来自的位置。