Нет MethodError при попытке получить идентификатор активной записи - PullRequest
0 голосов
/ 15 марта 2012

В модели:

  def self.get_by_slug(slug)
    self.where("slug = ?", slug)
  end

В контроллере:

  #route: match '/category/:slug', :to => 'category#index', :as => "category_jobs"
  @category = Category.get_by_slug(params[:slug])
  @jobs = Job.where("category_id = ? AND expires_at > ?", @category.id, DateTime.now)
           .paginate(:page => params[:page], :per_page =>    Jobeet::Application::MAX_JOBS_ON_CATEGORY_PAGE)
           .order("expires_at desc")

При попытке получить category.id в контроллере я получаю ошибку:

undefined метод "id" для #

Может кто-нибудь дать мне какой-нибудь совет?

1 Ответ

3 голосов
/ 15 марта 2012

Если вы ожидаете одну запись, вы должны сделать:

@category = Category.get_by_slug(params[:slug]).first

потому что .where(something) не возвращает ни одной записи.

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