繁体   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