我有一个与类别有belongs_to关联的模型。
示例:
我应该为每个类别创建一个查看文件来查找给定的类别,例如:
views/things/category_name1.html.erb
views/things/category_name2.html.erb
views/things/category_name3.html.erb
views/things/category_name4.html.erb
或者有更方便的方法吗?
除find
方法中的类别名称外,每个类别的视图都相同。我试过这个:
<%= Thing.find(:all, :conditions => {:category => 'Name of category'}) %>
我希望我的网址为/category_name/name_of_thing
。
答案 0 :(得分:2)
friendly_id gem将处理您正在寻找的URL生成。在你的路线中,你会想要有一些东西(Rails 3)。您不希望每个类别都有一个视图 - 这应该是动态的。
resources :categories do
resources :things
end
答案 1 :(得分:1)
没有!不要创建那样的冗余视图。
将以下代码放入您的Category
模型以及您希望拥有描述性网址的任何其他模型中:
def to_param
return "#{id} #{name}".parameterize
end
假设name
是Category
的属性,则会创建包含类别名称的唯一网址。如果您知道该名称肯定是唯一的,则可以仅使用name.parameterize
替换返回行。