当我渲染我正在使用的模型的部分时:
<%= 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 %>
我更喜欢一行:)任何想法?
答案 0 :(得分:1)
尝试:
<%= partial '#{@my_model.class.name.tableize}/_edit.html.erb' %>
tableize是ActiveSupport::Inflector的一种方法,其中包括一些其他很酷的命名操作方法。