У меня есть кусок кода, который делает один из двух парциальных, как это (я использую тонкий языки):Rails неопределенного локальные переменный при визуализации частичного
- case restream.service
- when 'youtube'
= render partial: 'youtube', locals: { provider: restream.provider }
- when 'custom'
debug = restream.provider
= render partial: 'custom', locals: { provider: restream.provider }
В обоих _youtube.slim
и _custom.slim
я просто называю чего-л, как p = provider.name
, Кроме того, «обычай» была создана копия-вставки кода с „YouTube“ Тем не менее, в то время рендеринга Rails выдает ошибку:. undefined local variable or method 'provider' for #<#<Class:0x00564028bb89d8>:0x007f92d3d0fa80>
Пытаясь решить эту проблему, я просто переименованный _custom.slim
к _custom1.slim
и изменил вызов = render partial: 'custom1', locals: { provider: restream.provider}
и работал!
Может кто-нибудь, пожалуйста, объясните, как это работает, а что не так с именем «Custom»? является ли это зарезервированное имя?