2017-07-30 9 views
0

スケジューラで配列を毎日作成する機能を作った。私はスケジューラで作成した配列にアクセスできません

そして、その配列から日付を取得したいと思います。 しかし、インデックスページにアクセスすると、arrayはnilを返します。 あなたはその理由を知っていますか?

たとえば、次のようになります。

schedule.rb

every 1.day, at: '4:30 am' do 
    runner 'User.create_user_group' 
end 

モデル/ user.rb

class User < ActiveRecord::Base 
    def self.create_user_group 
     @user_array = self.all.shuffle 
    end 
end 

コントローラ/ users_controller.rb

class UsersController < ApplicationController 
    def index 
    @user_array #=> nil 
    end 
end 

答えて

0

はなぜにモデルクラスUserのインスタンス変数を期待しますコントローラークラスUsersController内に表示されますか?

あなたがコントローラで@usersが必要な場合は、明示的にそれらを取得するために、次のとおりです。あるとして、それはあまりにも多くの他のグリッチを持っているので、

class UsersController < ApplicationController 
    def index 
    user_array 
    end 

    def user_array 
    @user_array ||= User.all.shuffle 
    end 
end 

は、上記のコードを使用しないでください。答えはあなたのコードで何が問題になったのかを説明するだけです。

関連する問題