繁体   English   中英

如何在Rails 4中为一个表创建多个视图

[英]How can I create multiple views for a table in Rails 4

我有一张桌子,用来存放用户喜欢的菜肴。 一个用户在表中可以有多个条目。 我已经生成了一个视图以显示表中的所有条目,但是如何创建一个视图以仅显示用户列表。 我没有保存用户的表,因此必须使用DISTINCT从我唯一的表中获取用户名

听起来您对关系数据库,模式设计和数据建模有很多了解,所以这个答案可能无济于事,但是这里...

您现在应该规范化架构并将用户放在他们自己的表中。 然后菜表将有user_id场指回id它的用户的belongs_to

因此,您将拥有一个has_many Dishes的用户模型。 以及belongs_to用户的Dish模型。 这样一来,您就可以更轻松地为用户创建视图,而不必执行稍微复杂的查询即可从Dish表中获取该数据。

我的路线必须固定并且有效..

默认的route.rb看起来像这样

ActionController :: Routing :: Routes.draw做| map |
#优先级基于创建顺序
#首先创建具有最高优先级。

#常规路线示例:#map.connect'products /:id',:controller =>'catalog',:action =>'view'#请记住,您可以分配除#:controller和:action外的其他值

#命名路线的示例:#map.purchase'products /:id / purchase',:controller =>'catalog',:action =>'purchase'#此路线可以通过purchase_url(:id => product.id调用) )

#您可以通过连接''#来路由站点的根目录-仅记住删除public / index.html。 #map.connect'',:controller =>“欢迎”

#允许将Web Service WSDL下载为带有扩展名的文件

#而不是名为'wsdl'的文件map.connect':controller / service.wsdl',:action =>'wsdl'

#将默认路由设置为最低优先级。 map.connect':controller /:action /:id。:format'map.connect':controller /:action /:id'结尾

我发现本教程很有帮助http://www.informit.com/articles/article.aspx?p=1087656&seqNum=5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM