[英]Rails - Adding a command line script to my app
我不喜歡問noobie問題,但是我花了比我更多的時間去考慮谷歌搜索和試圖弄清楚這個簡單的過程。 我正在嘗試使用twitter gem在我的應用程序視圖中發布推文。
當我在命令行上運行該腳本時,該腳本可以運行,但是我不知道如何訪問視圖中的數據。 我已經安裝了寶石。 我嘗試將此代碼添加到控制器中,但仍然不允許我在視圖中調用它。
require 'rubygems'
require 'twitter'
client = Twitter::REST::Client.new do |config|
config.consumer_key = "(redacted)"
config.consumer_secret = "(redacted)"
config.access_token = "(redacted)"
config.access_token_secret = "(redacted)"
end
client.search("help", :result_type => "recent").take(3).each do |tweet|
puts tweet.text
end
如果有人能指出我正確的方向,那就太好了。
好吧,我將發布一些(未經測試的)代碼,這些代碼可能有助於您朝正確的方向發展。 這不是最好的方法,因為它不是很靈活,但是它應該按照您的示例進行操作。 確保將Twitter gem添加到您的Gemfile並捆綁安裝。 創建一個名為TweetsFromAccount的Ruby類。 將其保存在/ lib目錄中就可以了。
class TweetsFromAccount
def initialize
@client = Twitter::REST::Client.new do |config|
config.consumer_key = "(redacted)"
config.consumer_secret = "(redacted)"
config.access_token = "(redacted)"
config.access_token_secret = "(redacted)"
end
end
def recent_tweets(quantity)
array_of_tweets = []
@client.search("help", :result_type => "recent").take(quantity).each do |tweet|
array_of_tweets << tweet.text
end
end
end
在控制器中,創建一個新的TweetsFromAccount對象,並將其分配給實例變量@tweets。 創建一個附加實例變量,將其值設置為@ tweets.recent_tweets(3)。 這應該獲取最近的3條推文。
def show
# other stuff
@tweets = TweetsFromAccount.new
@array_of_tweets = @tweets.recent_tweets(3)
end
然后在您看來,只需遍歷@array_of_tweets。
<ul>
<% @array_of_tweets.each do |tweet| %>
<li><%= tweet %></li>
<% end %>
</ul>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.