Указатель на сайте новостей Rails - PullRequest
0 голосов
/ 19 августа 2011

Демонстрационное изображение:

Demo image

Я создаю новостной сайт. На домашней странице должны отображаться новости некоторых категорий, это выглядит как демонстрационное изображение. У меня есть категории "Местные новости""," Net News "," Горячие новости "и т. Д.

Мое действие индекса выглядит так:

    def index
      @posts={}
      category_names=%w(Local_News Net_News Hot_News) 
      limits=%w(12 5 5)
      category_names.each_with_index do |name,index| 
        @posts[name]=Post.cate(name,limits[index])
      end          
    end 

models / post.rb

    class Post < ActiveRecord::Base 
       def self.cate(catename,limit)
          joins(:category).where("categories.name=?",catename).limit(limit)
       end
     end      

views / pages / index.html.haml

     .news-list.list-top
      %h3.ico-news-2
        = link_to "More>>", category_news_index_path("Local_News")
        %span Local News
      =render "news/news",:posts=>@posts["Local_News]   

Я не знаю, мой метод правильный или нет?

Кто-нибудь мне помогает.Спасибо.

1 Ответ

0 голосов
/ 19 августа 2011

1) используйте прицел. Ваш метод может / должен работать, но области видимости предназначены для этого.

class Post < ActiveRecord::Base 
  scope cate, lambda { |catename, limit|
    joins(:category).where(:categories => { :name => catname }).limit(limit)
  }
end

2) Кроме пропущенного "в вашей строке рендеринга, это не выглядит странно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...