在我的Web应用程序中,用户可以选择实体的某些实例。例如,在课程BubbleGum
上,用户现在可以通过添加其标识符来选择BubbleGum
的某些实例:
gums/details?show=3532667
现在,此外,我还希望能够显示所有BubbleGums
。为此,我介绍了使用*
来识别所有
gums/details?show=*
到目前为止这很好用,但我经常需要添加一些代码来处理*
选择。有没有一种很好的方法来表示Ruby和/或Rails中的 all-instances 对象?
我想过只使用一个专用符号,常量或类BubbleGum
的实际对象来代表所有其他泡泡糖。
答案 0 :(得分: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
答案 1 :(得分:1)
我认为你想使用查询字符串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