好的,如果您在类别和文章之间有 habtm 关系,现在可以通过类别索引页面执行过滤器,使用填充类别的两个选择框,显示属于一个或两个类别的文章?
这就是我尝试的方式。
类别控制器
def index
@categories = Category.all
end
def show
@category = Category.find(params[:name][:id])
end
分类索引页面
<%= form_for :categories, :url => {:action => :show}, :method => "get" do |f| %>
<div class="field">
<%= f.label :category %><br />
<%= collection_select(:name, :id, Category.all, :id, :name) %>
</div>
<div class="field">
<%= f.label :category %><br />
<%= collection_select(:name, :id, Category.all, :id, :name) %>
</div>
<div class="actions">
<%= f.submit "Submit" %>
</div>
<% end %>
类别展示页面
<ul>
<% @category.articles.each do |a| %>
<li><%= a.author %></li>
<li><%= a.title%></li>
<li><%= a.pub_date%></li>
<% end %>
</ul>
在这个阶段它只展示文章,基于第二个collection_select。
另外,habtm 完全有必要做这样的事情吗?如果在文章模型中有一个列,可以这样做吗?哪个是最好的方法?
谢谢