将一组对象从一个动作传递到另一个动作的最佳方法是什么?

时间:2012-04-20 18:56:18

标签: ruby-on-rails

我有一个动作index。我有print行动。

我想@objects,并将其全部传递给print index

我想在链接中这样做:

= link_to 'Print', print_path(@objects)

但正如你可能想象的那样,因为一个巨大的链接,以及一些蠢事,我得到了这个ActiveRecord::Relation:0x007ffc3a5f8000

@objects变量传递给此辅助操作的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

非常特别感谢jdoe,我能够通过对Zails无国籍的理解来解决这个问题。

因此,我在控制器中实例化了我的变量

def index
  session[:objects] = @objects.map(&:id)
end

而不是使它等于对象。我只是映射了ID。

此会话变量现在可以在整个站点中无限访问。

然后在我的另一个动作中,我称之为:

def print
    @objects = []
    session[:objects].each{|object|@objects << Object.find(object)}
end