【问题标题】:How do I render data from model.rb into the index.html file?如何将 model.rb 中的数据渲染到 index.html 文件中?
【发布时间】:2011-11-12 13:32:37
【问题描述】:

我正在构建我的第一个 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中显示

【问题讨论】:

  • 显示代码。没有更多细节很难提供帮助

标签: html ruby-on-rails ruby api twitter


【解决方案1】:

首先,您要正确组织文件。您没有提到控制器,但是您希望用户与之交互的每种“事物”都需要一个控制器。见:http://guides.rubyonrails.org/action_controller_overview.html

你想要这样的文件结构:

/public/stylesheets/whatever.css中的 CSS
/app/views/tweets/index.html.erb中的HTML

请记住,我不熟悉您的特定数据库结构,但在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 结构,最重要的是,花时间让您的项目开始/组织良好。以后可以省去很多麻烦!

祝你好运。

【讨论】:

  • 谢谢。很抱歉给您添麻烦
  • @ZackShapiro - 没问题!毕竟我们都从同一个地方开始:)
  • 我们有。不幸的是,有两个人显然基于这些反对意见不同意这一点
  • @ZackShapiro - SO 是一个非常高质量的论坛,由于期望和约定对于刚从这里开始的人来说并不总是显而易见的,所以它一直保持这种状态。我个人认为宽大处理是初学者的方式,但其他人对这些约定更为严格。无论如何,我希望这个答案对您有所帮助。欢迎来到 SO!
猜你喜欢
  • 2016-06-01
  • 1970-01-01
  • 2019-12-05
  • 1970-01-01
  • 2014-03-01
  • 2015-11-03
  • 1970-01-01
  • 2014-05-02
  • 2022-12-09
相关资源
最近更新 更多