Текущий файл представления в вспомогательном методе Rails - PullRequest
2 голосов
/ 02 декабря 2008

Есть ли какой-нибудь способ определить, какой файл рендерится в настоящее время Rails (2.2) с помощью вспомогательного метода. Примером результата может быть «/sessions/new.html.erb» или что-то подобное.

Я пытаюсь написать вспомогательную функцию, которая делает что-то на основе отображаемого имени файла, поэтому мне нужен надежный способ получения этой информации. Есть ли официальный способ получить эту информацию?

Ответы [ 2 ]

1 голос
/ 03 декабря 2008

В Rails 2.2 вы можете использовать @template.template

1 голос
/ 02 декабря 2008

Теперь у меня есть это крайне уродливое решение. Кто-нибудь получше?


begin
  raise "Nasty hack"
rescue 
  render = $@.detect { |bti| /\/app\/views\/(.+)\:\d+\:in \`_run_erb_/ =~ bti }
  return $1
end
...