我正在构建我的第一个rails应用程序,我在/ public中设置我的HTML和CSS文件,在/ models中设置models.rb我的代码。
现在代码是一个Def,它搜索在models.rb文件中提到我的5条最新推文。
我想拍这些5条推文并以某种方式设置它们。我从未将数据从一个文件访问到另一个文件,因此不太确定如何将这些推文显示在index.html文件中。
任何帮助都非常感激。
require 'rubygems'
require 'twitter'
def search
search = Twitter::Search.new
search.containing("@twitter").result_type("recent").per_page(5).each do |r|
puts "#{r.from_user}: #{r.text}"
end
end
search #calls search function
这是models.rb中的代码,需要在index.html中显示
答案 0 :(得分:2)
首先,您要正确整理文件。您没有提到控制器,但是您希望用户与之交互的每种“事物”都需要一个控制器。请参阅:http://guides.rubyonrails.org/action_controller_overview.html
你想要一个像这样的文件结构:
/public/stylesheets/whatever.css
中的CSS
/app/views/tweets/index.html.erb
请记住,我不熟悉您的特定数据库结构,但在tweets
控制器(存储在/app/controllers/tweets_controller.rb
)中,您理想的是希望能够执行此操作:
def index
@tweets = @user.tweets.order("tweets.created_at DESC").limit(5)
end
然后在index.html.erb
:
<% @tweets.each do |tweet| %>
<div class="tweet">
<%= @tweet.text %>
</div>
<% end %>
这是我可以从您的问题中提供的最详细信息 - 您应该阅读有关rails中的MVC结构,最重要的是,花点时间让您的项目开始/组织得很好。它将来会为你节省很多麻烦!
祝你好运。