【发布时间】:2011-07-18 13:22:14
【问题描述】:
render @some_object
将渲染Rails.root/app/views/some_objects/_some_object.html.erb
现在我想处理哪个部分将被渲染取决于它的data_type 字段。例如:
class SomeObject < AR::Base
# some magick method wich I need to rewrite
def partial_name
case data_type
when "String"
"string_template"
when "Text"
"text_template"
else
"blank_template"
end
end
end
我知道有model_name、i18n_key 和其他一些,它们是返回模型名称,但在我的render @object 案例中使用的是哪一个?
编辑
现在我已经停止了不涉及模型的最简单的解决方案。我将所有这些逻辑删除到 _some_object.html.erb 部分中,所以它呈现了我需要的部分:
<div class='claim_template_field'>
<%= render "/some_objects/#{f.object.data_type.downcase}_template", :f => f %>
</div>
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 activerecord partial