显示来自多个项目轨道的数据?

时间:2015-09-05 09:39:49

标签: ruby-on-rails ruby

我正在创建一个新的rails应用程序。在那我有4件事报价,图像,事实,笑话。每件东西都有自己的控制器,模型文件。因此,如果我想查看用户提交的引号,我可以转到localhost:3000 / quotes和其他内容一样。现在我想要的是在一个页面上显示所有这4件事。应该按照创建的顺序显示所有4个内容。我怎样才能做到这一点?

感谢。

Sumeet

2 个答案:

答案 0 :(得分:1)

  1. 添加专用控制器(例如SummaryController
  2. 在其show action中加载所有数据模型
  3. 使用演示者或其他任何方式按创作时间对其进行排序(模型)
  4. 将模型传递给新创建的展示视图(app/summary/show
  5. DRY - 所以尝试通过已有的部分渲染这些项目。 例如 - 使用您在app/views/quotes
  6. 中定义的相同部分渲染引号

答案 1 :(得分:0)

假设您正在localhost:3000/quotes查看报价索引视图,并希望在此视图中显示引号,图片,事实和笑话。您应该确保将所有这些作为实例变量传递到引号控制器中的索引函数

在引号控制器中,确保索引功能如下:

def index
  @quotes = Quote.all.order("created_at ASC")
  @images = Image.all.order("created_at ASC")
  @facts = Fact.all.order("created_at ASC")
  @jokes = Joke.all.order("created_at ASC")
end

现在,您可以在索引视图中循环显示它们。以下是如何使用@quotes执行此操作的示例(您可以对所有其他实例执行相同操作):

<% @quotes.each do |quote| %>
  <%= quote.content %>
<% end %>

希望这有帮助。