我是 Rails 的新手。我希望应用 2 次覆盖,以改变 Promotions 对象在其新建和编辑视图中的显示。下面列出了覆盖。两种覆盖都可以自行正常工作。
但我不知道如何将一个覆盖应用到新视图,然后将第二个覆盖应用到编辑视图。
如何对每个新建和编辑视图应用不同的覆盖?
目前我的 Promotion 对象已成功创建并保存,但其值不会显示在编辑视图中。此外,编辑视图的呈现方式与新视图相同,这是错误的。
代码:
使用 Spree Deface,我覆盖了一个促销表单 (_form.html.erb) 以产生一个新的(创建)视图,如下所示:
Deface::Override.new(:virtual_path => "spree/admin/promotions/_form",
:name => "example-3",
:replace => "div.row",
:partial => "shared/new_promotion"
)
在第二次覆盖中,我覆盖了 _form.html.erb :
Deface::Override.new(:virtual_path => "spree/admin/promotions/_form",
:name => "example-3",
:replace => "div.row",
:partial => "shared/uploadcsvfile"
)
这些覆盖当前直接位于相同的位置。