在Rabl集合中调用Rails助手

时间:2014-09-26 11:03:50

标签: ruby-on-rails ruby rabl

我想从我的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) }

1 个答案:

答案 0 :(得分:3)

您可以将参数传递给节点块:

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