我正在使用twitter gem并遇到以下问题
这是我非常简单的观点,它的唯一目的是从给定的Twitter句柄返回前20条推文。
home.html.erb
<%@client.user_timeline("BU_Tweets").each do |tweet|%>
<p><%= tweet.text%></p>
<% end %>
我是否有办法在同一页面上创建某种形式,这将向用户询问“请输入推文句柄:”,将该单词保存在变量中,并使用变量在这样的事情:
<%@client.user_timeline(#{twitter_handle}).each do |tweet|%>
<p><%= tweet.text%></p>
<% end %>
我没有看到为什么我需要创建一个完整的模型来存储这些单词的原因。
我用Google搜索,似乎大多数人都推荐使用javascript。我不知道任何javascript,所以我想知道是否有这个问题的Ruby / Rails方法?
答案 0 :(得分:0)
如果您不想使用javascript,则在用户提交表单后,您需要刷新整页。有一个这样的表格:
<%= form_tag <some_url> do %>
<%= text_field_tag 'handle' %>
<%= hidden_field_tag 'client', @client %>
<%= submit_tag 'Submit' %>
将some_url
路由到some_controller#some_action
:
def some_action
@client = #however you're getting @client
@timelime = @client.user_timeline(params[:handle])
#render the original page
end
然后在该页面上执行:
<% @timeline.each do |tweet|%>
<p><%= tweet.text%></p>
<% end %>