2016-08-06 2 views
0

У меня есть кусок кода, который делает один из двух парциальных, как это (я использую тонкий языки):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»? является ли это зарезервированное имя?

ответ

0

Я думаю, может быть, есть частичный файл также названный _custom, но с другое расширение, возможно, _custom.html.slim или любое другое подобное. Поэтому, когда вы выполняете частичное: «custom», он может отображать частичное, которое не является ты хочешь.

Смежные вопросы