複数のスレッドを実行すると何か問題がありますか?
action1 を使用してページを読み込むと、機能します。
ホームコントローラー
def action1
threads = []
threads << Thread.new {@lub = client.tag_recent_media('tag1')}
Thread.new{@tags = client.tag_recent_media('encorebeach')}
Thread.new{@location = client.location_recent_media('16565')}
threads.each(&:join)
end
ホームビュー
<% (@lub+@tags+@location).each do |media| %>
<%= media %>
<% end %>
別のビューを持つ別のコントローラーを次に示します。
別のコントローラー
def action1
threads2 = []
threads2 << Thread.new {@lub2 = client.tag_recent_media('tag1')}
Thread.new{@tags2 = client.tag_recent_media('encorebeach')}
Thread.new{@location2 = client.location_recent_media('16565')}
threads2.each(&:join)
end
別のビュー
<% (@lub2+@tags2+@location2).each do |media| %>
<%= media %>
<% end %>
2番目の出力では、エラーが発生します
undefined method `+' for nil:NilClass
スレッドに問題があると思います。なぜこれが起こっているのか、誰かが私を助けることができますか? ホームページですでにスレッドを実行した後、別のページに移動したいときに、再度スレッドを実行して動作しないためでしょうか?
ありがとう!