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
случае?
EDIT
Теперь я остановился на простейшем решении, которое не касалось моделей. Я удалил всю эту логику в _some_object.html.erb
частичную, так что она отдает частичную часть, которая мне нужна, внутри себя:
<div class='claim_template_field'>
<%= render "/some_objects/#{f.object.data_type.downcase}_template", :f => f %>
</div>