#ruby-on-rails #ruby #api #twitter
Вопрос:
В настоящее время я работаю над приложением Rails. Я пытаюсь создать функцию, которая позволит мне ввести имя экрана Twitter в форму поиска и получить список пользователей. Я знаю, что могу использовать метод поиска для получения твитов и метод user_search для поиска пользователя. Я все еще пытаюсь понять, что передать методу user_search.
class TweetsController < ApplicationController
def search
client = Twitter::REST::Client.new do |config|
# 事前準備で取得したキーのセット
config.consumer_key = ENV["TWITTER_API_KEY"]
config.consumer_secret = ENV["TWITTER_API_SECRET"]
config.access_token = ENV["TWITTER_ACCESS_TOKEN"]
config.access_token_secret = ENV["TWITTER_ACCESS_SECRET_TOKEN"]
end
@tweets = []
if params[:keyword].present?
tweets = client.user_search(params[:keyword], count: 1)
# 取得した情報モデルに渡す
tweets.take(1).each do |tw|
tweet = Tweet.new(tw.full_text)
@tweets << tweet
end
end
respond_to do |format|
format.html # show.html.erb
format.json { render json: @tweets }
end
end
end
tweet.rb
class Tweet
# プロパティの設定
attr_accessor :contents
def initialize(contents)
@contents = contents
end
end
<div class='content'>
<div id="search-box">
<%= form_tag('/tweets/search', method: :get) do %>
<%= text_field_tag :tweet, nil, id: "tweet_search", name: "keyword", placeholder: "キーワードを打ち込んでください", style: "width: 200px;"%><button title="検索" type="submit">検索</button>
<% end %>
</div>
<div id='tweet_list'>
<%= render partial: 'tweet_list' %>
</div>
</div>
<% if @tweets.present? %>
<h2>検索結果</h2>
<ul>
<% @tweets.each_with_index do |tweet, i| %>
<div class="list">
<li>Tweet<%= i %>: <%= tweet.contents %> </li>
</div>
<% end %>
</ul>
<% end %>
Мне очень жаль, но я был бы признателен за любой совет, который вы можете мне дать.
Большое спасибо.