我想在我的主页上显示各种模型的数据摘要。有一个HomeController和一个home / home.html.erb但没有模型。我希望它就像在HomeController中为每个模型放置这样的东西一样简单,然后查看,但是不行,这不起作用!
控制器:
def load_tracks
@tracks = Track.all
end
查看:
<% @tracks.each do |track| %>
<%= track.name %> - <%= track.isrc %>
<% end %>
任何指针都会非常感激!
答案 0 :(得分:3)
您的控制器必须如下所示:
class HomeController < ApplicationController
def home
@tracks = Track.all # or this could come from a method
end
end
你的观点现在可以是一样的。当rails看到请求时,它会查找具有该名称的操作。因此,当您尝试转到/homes/home
时,它会进入Homes
控制器以找到home
操作但无法找到它,因此这可能是它无效的原因。< / p>
编辑反正你不应该有“HomesController”。 “PagesController”可能更有意义。查看Michael Hartl's RoR tutorial book on the subject。
答案 1 :(得分:2)
假设您有两个模型,Track和Playlist,并且您希望在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>
答案 2 :(得分:0)
您可能还想查看Presenter
。这是一种从不同模型中获取数据的好方法。
此处:http://railscasts.com/episodes?utf8=%E2%9C%93&search=presenter 和http://railscasts.com/episodes?utf8=%E2%9C%93&search=draper