我想从我的rabl
模板调用Rails辅助方法。我能够via Stack Overflow获得一个对象。
这是我目前的设置(并且工作正常)
我有一个帮手
#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
自述文件中找不到它。
问题是它传递了@images
列表,我不知道如何在每个单独的对象上调用辅助方法
#app/images/index.rabl
collection @images
attributes :id,
node(:picture_url) { full_url(@images) }
答案 0 :(得分:3)
您可以将参数传递给节点块:
collection @images
attributes :id, :picture_url
node(:picture_url) {|image| full_url(image) }