0

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

我想把@objects它们全部传给printfrom index

我正在考虑在链接中这样做:

= link_to 'Print', print_path(@objects)

但正如你可能想象的那样,因为一个巨大的链接,加上一些愚蠢的行为,我得到了这个ActiveRecord::Relation:0x007ffc3a5f8000通过。

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

4

1 回答 1

0

非常特别感谢jdoe,我能够通过对Rails是无状态的禅宗理解来解决这个问题。

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

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

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

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

然后在我的另一个动作中,我这样称呼它们:

def print
    @objects = []
    session[:objects].each{|object|@objects << Object.find(object)}
end
于 2012-04-21T11:46:31.540 回答