我有一张桌子,可以存放最喜欢的用户菜肴。用户可以在表中有多个条目。 我已经生成了一个视图来显示表中的所有条目,但是如何创建一个视图来显示用户列表。我没有保存用户的表,因此我必须使用DISTINCT从我的唯一表中获取用户的名称
答案 0 :(得分:0)
听起来你有很多关于关系数据库,架构设计和数据建模的知识,所以这个答案可能没什么用,但是这里有...
您应该normalize您的架构并将用户放在他们自己的表中。然后,餐桌会有一个user_id
字段,指向用户id
的{{1}}。
因此,您将拥有belongs_to
菜肴的用户模型。和has_many
用户的Dish模型。有了这个,你就可以更轻松地为用户创建视图,而无需进行稍微复杂的查询就可以从Dish表中获取数据。
答案 1 :(得分:0)
我的路线必须修好才行..
默认的route.rb看起来像这样
ActionController :: Routing :: Routes.draw do | map |
#优先级基于创建顺序
#First创建得最高 优先级。#常规路线示例:#map.connect' products /:id', :controller => '目录&#39 ;, :action => '视图' #请记住,您可以指定#:controller和:action
以外的值#命名路线示例:#map.purchase' products /:id / purchase', :controller => '目录&#39 ;, :action => '购买' #可以使用purchase_url(:id => product.id)
调用此路线#您可以通过挂机来排除网站的根目录'' # - 只记得删除public / index.html。 #map.connect'', :controller => "欢迎"
#允许将Web Service WSDL下载为扩展名为
的文件#而不是名为' wsdl'的文件map.connect ':controller / service.wsdl',:action => ' WSDL'
#将默认路由安装为最低优先级。 map.connect ':控制器/:动作/:ID:格式' map.connect ':控制器/:动作/:ID' 端
我发现本教程很有帮助 http://www.informit.com/articles/article.aspx?p=1087656&seqNum=5