#ruby-on-rails-3 #model-view-controller #helper
#ruby-on-rails-3 #модель-представление-контроллер #помощник
Вопрос:
В моем bar.html Я создаю частичное представление, и в нем я хочу вызвать метод foo(var1, var2) и получить массив обратно. В моей локальной системе все работает нормально, но в моей производственной системе возникает следующая ошибка.
undefined local variable or method `foo' for #<#<Class:0x70c6410>:0x706f480>)
Кто-нибудь может мне это объяснить?
Класс #<#:0x706f480> меняется при каждом вызове, поэтому кажется, что представление не пытается выполнить поиск функции в моем помощнике.
Редактировать:
Приложение имеет следующую структуру (пример)
app/helpers/bar_helper
app/views/bar/bar.html.erb
app/views/bar/partials/bar_partial.html.erb
и в bar_partial.html.erb я вызываю foo (var1, var2) в моем bar_helper следующим образом
<% data = foo(var1, var2) %>
Комментарии:
1. где определен ваш метод foo .. можете ли вы поделиться каким-нибудь кодом, который вы написали.
2. смотрите часть редактирования, к сожалению, я не могу поделиться кодом =/
3. работает ли вспомогательный вызов из основного представления в рабочей среде?
Ответ №1:
Проблема заключалась в том, что класс существовал во второй раз где-то в структуре папок, так что ruby нашел первый файл и использовал его вместо нужного.