我有一个简单的客户端模型,包含一些字段和基本表单。访问它的网址为/clients/new
,这会导致clients#new
方法。我需要做的是创建一个到经销商的新路线,这将导致相同的方法和相同的形式,但有一些新的字段,如经销商的名称。
示例:网址/reseller/clients/new
指向方法clients#new
,并显示包含new
表单新输入的新单元格。
我创建了一个方法来检查网址并设置会话,如果路由中包含"reseller"
,那么我的单元格可以处理是否显示新字段。但这导致我遇到有关模型验证的问题,因为如果在视图中显示新字段,则该字段存在为true
。我必须在模型中访问我的会话才能创建一个正确的验证,这听起来不是正确的路径。
我想知道如何以正确的方式实现我的目标?
提前致谢。
答案 0 :(得分:1)
解决。
为此,我创建了一个名为Reseller
的新模型。有了它,模型Client
有accepts_nested_attributes_for :reseller
。这样我就可以在我的单元格中为Reseller
模型渲染表单,并使用:presence => true
设置其中的所有字段,而不需要条件语句。如果网址为"reseller"
,则单元格将呈现表单并进行验证。