【发布时间】:2011-10-14 22:34:39
【问题描述】:
简介:
我正在从事汽车经销商项目.. 销售从 A 到 Z 的每个品牌的汽车。我想为每个车名制作带有链接的小盒子。单击 Mercedes for ex,将为所有汽车渲染所有梅赛德斯汽车,依此类推。这是我现在拥有的:
在汽车控制器
def mercedes
...
@cars = Car.where('carname_id = 1').order('created_at desc').paginate :page => params[:page], :per_page => 5
end
每辆车都有这样的代码,30 件.. 但还会有更多 鉴于我有
<%= link_to 'Mercedes', :controller => :cars, :action => :mercedes %>
还有大约 30 行代码,每辆车一个。除此之外,我必须有 30 个视图文件.. 好吧,我想我可以为所有汽车使用一个部分视图
问题:
如何用更少的代码做到这一点。也许它会有所帮助.. 我有一张名为 carnames 的桌子,我把所有的车都放在那里,所以我冷了做类似的事情
<% @carnames.each do |car| %>
<%= link_to '<%= carname.name %>', :controller => :cars, :action => :<%= carname.name %> %>
<% end %>
我认为这将为我生成每辆车的链接,而无需编写它们,它们的问题在于控制器。我不确定是否可以编写这么多代码。我希望我说清楚。感谢您的宝贵时间。
编辑
这是我的汽车的存放方式:
我将汽车名称保存在一个名为 carnames 的表中,并在 carmodels 中保存模型。每个表都有一个 ID 字段和名称字段。因此,用于 ex 的 Meredes E 类将具有来自汽车名称表的汽车名称,具有特定的 id_carname 和来自汽车模型表的 E 类具有特定的 id_carmodel.. 我为所有模型设置了所有 belongs_to 和 has_many。
【问题讨论】:
标签: ruby-on-rails ruby