簡體   English   中英

如何在Rails中顯示模型的所有實例?

[英]How to display all instances of a model in Rails?

在我的Web應用程序中,用戶可以選擇實體的某些實例。 例如,在BubbleGumBubbleGum ,現在用戶可以通過使用其標識符來選擇BubbleGum的某些實例:

gums/details?show=3532667

現在,此外我還希望能夠顯示所有的BubbleGums 為此我引入了使用*來識別所有的慣例

gums/details?show=*

到目前為止這很好用,但我經常需要添加一些代碼來處理*選擇。 有沒有一種很好的方法來表示Ruby和/或Rails中的所有實例對象?

我曾想過使用一個專門的符號,常量或類BubbleGum的實際對象來代表所有其他泡泡糖。

要顯示rails應用程序中的所有實體,我們通常使用索引頁面。

bubble_gums_controller.rb

def index
  @bubble_gums = BubbleGum.all
end

視圖/ bubble_gums / index.html.erb

<% @bubble_gums.each do |bubble_gum| %>
  <tr>
    <td><%= bubble_gum.name %></td>
    <td><%= bubble_gum.price %></td>
  </tr>
<% end %>

有關詳細信息,請參閱此處

http://guides.rubyonrails.org/getting_started.html#listing-all-posts

我想你想使用查詢字符串param show。 所以,你可以試試你的牙齦控制器:

def details
    if params[:show] == "*"
        @bubble_gums = BubbleGum.all 
        # ...
    elsif params[:show]
        @bubble_gum = BubbleGum.find(params[:show]) 
        # ...
    else 
        render :status => 404
    end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM