我正在尝试将twitter feed集成到我的rails 4应用程序中,这就是cms。我解决了twitter gem并成功安装了它。 我在application_controller.rb中设置了以下内容。
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
require 'twitter'
@client = Twitter::REST::Client.new do |config|
config.consumer_key = 'my consumer key'
config.consumer_secret = 'my consumer secret'
config.access_token = 'access token'
config.access_token_secret = 'access token secret'
end
end
注意:我在这里省略了我的凭据,但在我的应用中正确使用了它们。 然后我在我的观点中添加了以下内容,即application.html.erb
<section id="tweets">
<ul>
<% @client.each do |tweet| %>
<li><%= tweet.text %></li>
<% end %>
</ul>
</section>
我收到以下错误
undefined method `each' for nil:NilClass
我可能做错了什么?我已经阅读了twitter gem文档,首先通过设置初始化程序,在我在视图中时初始化器中实现了我的局部变量,因此我将其删除并在控制器中添加了初始化。请注意它是@client
详细的答案将不胜感激。
答案 0 :(得分:0)
所以我最终使用推特小部件形成我的推特账号。这是解决我的问题的代码
<div class="span4">
<a class="twitter-timeline" href="https://twitter.com/YourHandle" data-widget-id="MyTwitterId">Tweets by YourHandle</a>
<script>
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';
if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js"
;fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
</script>
</div>
注意:用您的Twitter手柄替换YourHandle。我也省略了我的数据小部件ID。要让你的设置转到你的Twitter设置然后创建推特小部件。将生成一个类似的代码,您可以将其嵌入您的网站。