0

在我的 Web 应用程序中,用户可以选择实体的某些实例。例如在 class 上,现在用户可以通过寻址他们的标识符BubbleGum来选择某些实例:BubbleGum

gums/details?show=3532667

现在,除此之外,我还想让所有BubbleGums. 为此,我介绍了使用*来识别所有

gums/details?show=*

到目前为止,这很好用,但通常我必须添加一些代码来处理*选择。在 Ruby 和/或 Rails 中有没有一种很好的方法来表示一个全实例对象?

我曾想过只使用一个专用符号、常量或BubbleGum代表所有其他泡泡糖的类的实际对象。

4

2 回答 2

1

我认为您想使用查询字符串参数显示。所以,你可以试试你的牙龈控制器:

def details
    if params[:show] == "*"
        @bubble_gums = BubbleGum.all 
        # ...
    elsif params[:show]
        @bubble_gum = BubbleGum.find(params[:show]) 
        # ...
    else 
        render :status => 404
    end
end
于 2013-08-17T15:54:44.743 回答
1

为了显示 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

于 2013-08-17T15:01:11.140 回答