繁体   English   中英

在主页上显示来自多个模型的数据?

[英]Displaying data from multiple models on home page?

我想在主页上显示各种模型的数据摘要。 有一个HomeController和一个home / home.html.erb,但没有模型。 我希望将它简单地放在HomeController中的每个模型中,然后查看即可,但是不,那是行不通的!

控制器:

 def load_tracks
 @tracks = Track.all
 end

视图:

<% @tracks.each do |track| %>
<%= track.name %> - <%= track.isrc %>
<% end %>   

任何指针将不胜感激!

您的控制器将必须如下所示:

class HomeController < ApplicationController
    def home
        @tracks = Track.all # or this could come from a method
    end
end

现在您的观点可以相同。 当Rails看到一个请求时,它将寻找具有该名称的动作。 因此,当您尝试转到/homes/home它进入Homes控制器以查找home操作,但找不到它,所以这可能就是为什么它不起作用的原因。

编辑无论如何,您不应该真正拥有“ HomesController”。 “ PagesController”可能更有意义。 查看Michael Hartl的RoR教程书

假设您有两个模型,即“跟踪”和“播放列表”,并且想要在Home控制器的索引页面上显示有关它们的信息。 app/view/controllers/home_controller.rb

def index
  @tracks = Track.all
  @playlists = Playlist.all
end

然后在视图中, app/view/home/index.html.erb

<h1>Tracks and Playlists R Us</h1>
<p><%= "We have #{@tracks.count} tracks and #{@playlist.count} playlists." %></p>

您可能还想看看Presenter 这是从不同模型获取数据的好方法。

此处: http : //railscasts.com/episodes? utf8=% E2%9C%93 & search = presenterhttp://railscasts.com/episodes?utf8=%E2%9C%93&search=draper

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM