2011-09-27 69 views
0

在我的Rails 3.1應用程序中。我有幾個控制器調用這個代碼塊:我應該把它變成一個模塊嗎?

twitter_entertainment_users = Rails.cache.fetch('twitter_entertainment_users', :expires_in => 24.hours) do 
    begin 
    Timeout.timeout(10.seconds) do 
     Twitter.suggestions('entertainment') 
     puts "#{Twitter.rate_limit_status.remaining_hits.to_s} Twitter API request(s) remaining this hour" 
    end 
    rescue Twitter::NotFound 
    end 
end 

而不是重新輸入這個代碼塊到處。我應該在模塊中使用這個嗎?即讓事情保持乾爽?

如果是這樣,該去哪裏?我讀了一些關於將模塊代碼放入app/concerns/foobar.rb的地方。

還有其他方法嗎?尋找建議/文章。

回答

0

總是最好不要重複你的代碼。這樣,當你改變某些東西時,你只需要在一個地方做到這一點。 (並且相信我 - 你不想這樣做五次,然後只希望你沒有錯過任何東西。)

把它放在一個所有控制器都可以訪問它的地方。考慮爲所有可能需要的幫助器方法創建一個模塊(或一個文件夾)並將它們保存在一個地方。這樣你總是知道在哪裏看。

相關問題