Вызов вспомогательного метода из частичного представления

#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 нашел первый файл и использовал его вместо нужного.