0

当我为我正在使用的模型渲染部分内容时:

<%= partial @my_model %>

它会自动查找文件 ..view/my_models/_my_model.html.erb 我真的很喜欢这个符号,因为它感觉正确!

我的问题:现在我想要一个符号来自动查找编辑部分。有办法吗?直到现在我用

<%= partial 'edit' %>

这没关系,但我的模型有很多子类,我喜欢它自动在模板的正确子类视图文件夹中查找的方式。直到知道我必须为我的模型寻找课程然后打电话

<% if @my_model.class == FirstSubClass %>
    <%= partial 'firstsubclasses/_edit.html.erb' %>
<% elsif @my_model.class == SecondSubClass %>
    <%= partial 'secondsubclasses/_edit.html.erb' %>
<% end %>

我更喜欢一行:) 有什么想法吗?

4

1 回答 1

1

尝试:

<%= partial '#{@my_model.class.name.tableize}/_edit.html.erb' %>

tableize 是ActiveSupport::Inflector的一个方法,其中包括一些其他很酷的命名操作方法。

于 2012-09-08T15:31:08.690 回答