模特:
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时,我收到错误:
#
的未定义方法`id'
有人可以给我任何建议吗?
答案 0 :(得分:3)
如果您希望单个记录,您应该这样做:
@category = Category.get_by_slug(params[:slug]).first
因为.where(something)
没有返回单个记录。