Я был в процессе миграции рельсов 2 приложения к рельсам 3. При этом я пришел навстречу виртуозному поведению с выходом. У меня есть фрагмент кода, где я получаю возвращаемое значение доходности.Доходность Rails 2 vs Rails 3
x= true if yield 'xyz'
Так что если content_for существует для 'xyz', значение x будет установлено true иначе ничего не произойдет. Он отлично работает в рельсах 2. Но в рельсах 3 всегда верно значение x, потому что рельсы возвращают пустую строку, даже если «xyz» недоступно.
В Rails 2:
yield 'xyz' # nil if xyz is not available
yield 'xyz' # "hi" if xyz is available. "hi" is the rendered content
В Rails 3:
yield 'xyz' # "" if xyz is not available
yield 'xyz' # "hi" if xyz is available. "hi" is the rendered content
Почему это изменение? render_template полностью изменено?
Я вот что я наконец-то закончилась. x = true, если content_for? ('xyz') –