0

我有一个用户模型,背后有一些验证。

我想做的是在应用程序的每个页面上都有一个注册表单,即使是大多数静态页面。

我认为最好的方法是通过 中的辅助方法application_helpers.rb,它工作正常,但验证似乎不起作用。

我也可以通过 iframe 提供表单,但这似乎有点 hacky。

我现在正在使用部分,但我的客户端验证 (github.com/bcardarella/client_side_validations) 仅适用于 /new 页面,而不是应用程序页面。

在这种情况下,最佳做法是什么?

4

2 回答 2

2

我建议将注册表单提取到共享部分中,然后您可以显式地将其呈现在您想要的任何地方。

app/views/layout/application.html.erb如果放置是静态的,无论您当前在哪个页面上,都可以直接在布局文件 ( ) 中呈现注册表单。

于 2013-05-21T11:54:25.380 回答
1

基本解决方案之一是使用部分。好处是:它是内置的,很简单。缺点是:您将忙于为其提供一些会话详细信息以进行正确渲染。

另一种解决方案是在这种情况下使用Cells 。

Cells 就像一个轻量级控制器,它可以做任何控制器可以做的事情,并且它独立于任何控制器。Cells 的一个很好的用例是购物车,我认为登录表单也是一个很好的用例。

于 2013-05-21T11:55:47.027 回答