Посмотреть критерии в контроллере Rails - PullRequest
1 голос
/ 07 февраля 2011

Если в базе данных есть столбец status со значением draft или published, как мне определить index в моем контроллере, чтобы отображать только status с published?Я знаю, что могу достичь этого, используя if-else, на мой взгляд, но мне интересно, есть ли лучший подход в контроллере.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 07 февраля 2011

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

app / models / post.rb :

named_scope :published, :conditions => {:status => 'published'}

app / controllers / posts_controller.rb

@posts = Post.published
1 голос
/ 07 февраля 2011

В файле контроллера измените метод индекса: замените значение по умолчанию @books = Book.all на @books = Book.where(:status => 'published')

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