2013-03-28 60 views
-2

我有一個rails 3博客應用程序,其文章和類別分別爲has_manybelongs_to association,我有許多類別,如體育新聞,娛樂新聞等,但我只想在我的觀點上只有sportnews才能顯示,我的意思是有體育類文章顯示,我想這對我的application.html.erb顯示如何輸出特定類別

class Category < ActiveRecord::Base 
    has_many :registrations 
    has_one :payment 
    attr_accessible :content, :name, :image, :description 

    mount_uploader :image, ImageUploader 

end 
+0

請在這個我的問題代碼是不是similer我想要什麼我只是使用它,所以stackoverflow可以讓我發帖 –

+0

「在這個我的問題的代碼是不是similer我想要我只是使用它,所以stackoverflow可以讓我發佈」?失敗!顯示與您的問題相關的代碼。它使用不相關的代碼有什麼意義,它有什麼好處呢? –

回答

0

如果您在協會的定義是這樣的:

class Category < ActiveRecord::Base 
    has_many :articles 
end 

class Article < ActiveRecord::Base 
    belongs_to :category 
end 

然後讓所有「sportnews」的文章很簡單:(這個g OES到控制器中)

class SomeController < ApplicationController 
    def index 
    @sportnews_category = Category.where(name: "sportnews").first 
    @sportnews_articles = @sportnews_category.articles 
    end 
end 

或:

@sportnews_category = Category.where(name: "sportnews").first 
@sportnews_articles = Article.where(category_id: @sportnews_category) 

你甚至可以定義範圍:在您的index.html.erb觀點類似

class Article < ActiveRecord::Base 
    belongs_to :category 
    scope :sportnews, includes(:category).where(category: {name: "sportnews"}) 
end 

@sportnews_articles = Article.sportnews 

然後:

<% @sportnews_articles.each do |article| %> 
    <h1><%= article.title %></h1> 
    <p><%= article.content %></p> 
<% end %> 
+0

所以我如何讓它在我的視圖上顯示 –

+0

@OnozorObogbareAlex我已經添加了視圖部分 – Stefan

+0

不,我已經定義了範圍,我希望它顯示在我的視圖上,我也要限制5(謝謝斯特凡) –