2011-09-06 67 views
0

我一直都在爲我打破3個小時的頭腦,我無法弄清楚這一點,最近我開始使用Rails,並且愛上了它,但仍然存在一些小事情,不知道。就像我有一種觀點,即從表格中提取所有數據。從表格檢索到的數據

<% @albums.each do |album| %> 
<div class="album"> 
<%= album.artist %> - <%= album.album %> 
</div> 

<div class="albumTask"> 
    <%= link_to 'Show', album %> 
    <% if can? :update, @album %> 
    <%= link_to 'Edit', edit_album_path(album) %> 
    <% end %> 
    <% if can? :destroy, @albumy %> 
    <%= link_to 'Destroy', album, confirm: 'Are you sure?', method: :delete %> 
    <% end %> 
</div> 
<% end %> 

但我真正想要它做的只是拉動流派= Dubstep的數據。現在在PHP中,我會做類似的事情。

$result = mysql_query("SELECT * FROM albums WHERE genre='dubstep'") 

我錯過了什麼?

回答

0

我認爲什麼是重要的,你是如何理解MVC(模型 - 視圖 - 控制器)架構的作品。這裏有一個鏈接on how it works

您提供的代碼是您的視圖,它知道如何顯示相冊列表。但是它是MVC中大部分工作的控制器,例如將相冊列表提供給您的視圖。現在目前,如果它想索引的所有專輯,它調用這部分您/app/controllers/AlbumsController.rb

def index 
    @albums = Album.all 

    respond_to [...] 
    [...] 
end 

這是視圖中的@albums.do each {...}從何而來。我所要做的是類似的,但不是.all,而是傳遞.where(:genre => :params[:genre])子句,其中參數來自您的url。

0

試試這個:

Album.find_all_by_genre("dubstep")