2014-09-26 2 views
0

Я хочу вызвать метод помощников Rails из моего шаблона rabl. Я смог это сделать via Stack Overflow для одного объекта.Calling Rails помощник внутри коллекции rabl

Это моя текущая настройка (и это работает отлично)

У меня есть помощник

#app/helpers/application_helper.rb 
module ApplicationHelper 

    def full_url(image) 
    "#{request.protocol}#{request.host_with_port}#{image.picture_url}" if recipe.image 
    end 

end 


#app/images/show.rabl 
object @image 
attributes :id, :picture_url 
node(:picture_url) { full_url(@image) } 

Теперь я хочу сделать это для списка объектов изображения, но он не работает, и я не могу найти его в rabl README.

Проблема заключается в том, что проходит @images список, я не знаю, как вызвать метод хелперного на каждом отдельном объекте

#app/images/index.rabl 
collection @images 
attributes :id, 
node(:picture_url) { full_url(@images) } 
+0

Что такое 'full_url'? Должно ли это быть 'thumb_url'? – BroiSatse

+0

@BroiSatse, извините .. мой плохой, он должен быть 'full_url', я упрощал свой код и получил опечатку. Я обновил свой вопрос. – sameera207

ответ

3

Вы можете пройти к вашему параметров блока узла:

collection @images 
attributes :id, :picture_url 
node(:picture_url) {|image| full_url(image) } 
+0

Большое спасибо, он работает – sameera207