2013-04-12 35 views
0

我有有文章和類別軌3博客應用程序「類別belongs_to的:文章」文章的has_many:類別,現在我有不同的類別,它有例如運動類別,它包含了所有運動的文章很多文章,我想在我的應用程序是什麼佈局我想只顯示體育文章在div上,請告訴我如何去做。謝謝...如何在我的視圖中輸出特定類別?

class Article < ActiveRecord::Base 
    attr_accessible :category_id, :content, :excerpt, :title, :image, :remote_image_url 
    mount_uploader :image, ImageUploader 
    belongs_to :category 
    validates :title, :content, :excerpt, :category_id, presence: true 
    validates :title, uniqueness: true 

    extend FriendlyId 
    friendly_id :title, use: [:slugged, :history] 

    def long_title 
    " #{title} - #{created_at} " 
    end 
end 

回答

0

根據您的意見更新時間:

第一步,讓所有的類別,假設您在類別#index動作做到這一點:

def index 
    @categories = Category.all 
end 

現在我們'將在類別#索引視圖中與該類別的名稱建立鏈接。當用戶在一個類別點擊,他們將被帶到該類別的節目頁面,在這裏我們將列出所有相關文章:

<% @categories.each do |category| %> 
    <%= link_to category.name, category %> 
<% end %> 

我們添加的類別#show動作如下:

def show 
    @category = Category.includes(:articles).find(params[:id]) 
    @articles = @category.articles 
end 

然後您可以通過遍歷相應類別#show view中的@articles變量來顯示所有這些文章。例如將它們作爲一個有些DIV鏈接:

<div class="articles"> 
    <% @articles.each do |article| %> 
    <%= link_to article.title, article %><br> 
    <% end %> 
</div> 

現在做的文章控制器的show動作相同:

def show 
    @article = Article.find(params[:id]) 
end 

所以基本上,用戶將看到一個鏈接,說:「體育「,當他點擊它時,如果您使用的是friendly_id,他將被帶到頁面,如yoursite.com/categories/4yoursite.com/categories/sports。在這個頁面下,所有相關的體育文章將被列出,當他們被點擊時,用戶將被帶到該文章的展示頁面。

+0

是的,我想表現出健康類別中的所有文章,因爲我創造了保健品類,因此,所有的文章屬於我想向他們展示我的意見的健康。 –

+0

不,我想表現出健康類所有文章我已經創建了健康類別,所以屬於健康的所有文章都希望在我的觀點中顯示出來。 –

+0

我不知道該不該過去的一個網站,讓你看到了我想要監守這個問題必須是抱着我的項目很長一段時間 –

相關問題