2012-04-20 9 views
0

私は行動がありますindex。そして、私はprintアクションを持っています。あるアクションから別のアクションにオブジェクトのグループを配信する最適な方法は何ですか?

私は@objectsを受け取り、printindexにすべて渡したいと思います。

私はリンクでこれを行うことを考えていました:

= link_to 'Print', print_path(@objects) 

しかし、ご想像の通り、巨大なリンクなぜなら、およびいくつかのばかなまねを持つことを、私はこのActiveRecord::Relation:0x007ffc3a5f8000が渡さ取得取得。

@objects変数をこの2次アクションに渡す最も良い方法は何ですか?

+3

これは役立つはずです:http://stackoverflow.com/questions/10104652/rail-3-instance-variable-not-available-after -redirection/10104776#10104776 – jdoe

+0

これはちょうど私の人生を変えました。本当にありがとう。 – Trip

+0

その後、その答えをupvoteし、我々は偶数です! ))) – jdoe

答えて

0

jdoeのおかげで非常に特別なおかげで、私はRailsが無国籍であるという禅の理解によってこれを理解することができました。

したがって、Iは

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

代わりのオブジェクトにそれを等しくするように、コントローラの私の変数をインスタンス化します。私はちょうどそのIDをマップしました。

このセッション変数は、サイト全体で無期限にアクセスできるようになりました。

はその後、私の他のアクションで私はそうのようにそれらを呼び出す:

def print 
    @objects = [] 
    session[:objects].each{|object|@objects << Object.find(object)} 
end 
関連する問題