2014-02-19 41 views
1

我使用Rails 4开发了一个新项目。
在这个项目中有一个注册表格,它应该位于不同的地方。从不同的页面提交相同的表格

无论位置如何,表单操作都会转到相同的控制器和操作。如果一切正常,用户将重定向到其帐户设置页面。否则,错误会出现在用户尝试注册的相同位置。

我不知道怎么才能实现我想要的最佳实践。我不想使用ajax,只是使用Rails的内置机制。

回答

1

您的注册表单应该是部分(即注册/ _form.html.erb)。然后,您可以在任何其他视图渲染这样的:

如果视图是在同一个位置: <%= render partial: 'form' %>

如果意见是在其他地点: <%= render partial: 'other_location/form' %>

+0

问题是如何处理错误回发到不同的页面。我可以想到的两个方面:(1)根据表单渲染的位置重定向到不同的页面;(2)为每个操作创建必要的变量 – guyaloni

+0

最简单的方法就是将其重定向回请求页面到)并包含闪烁错误以供显示。这里有一篇文章概述了这个+其他一些用例:http://stackoverflow.com/questions/771656/correctly-doing-redirect-to-back-in-ruby-on-rails-when-referrer-is-not-可用 – steakchaser

0

下创建一个局部_form.html.erb身份验证文件夹为例,那么你可以在任何其他视图渲染这部分:<%= render partial: 'form' %> or <%= render partial: 'other_folder/form' %>

+0

这很明显。问题是如何处理回发。 – guyaloni