Как найти связанные записи для записи, найденной слизнем с дружественным идентификатором?

Я внедрил дружественные идентификаторы, и прямо сейчас у меня возникают проблемы с связыванием возможностей для компании по ярлыку (у меня это работало нормально по идентификатору).

КомпанииКонтроллер:

  def show
    @opportunities = Opportunity.where("company_id = ?", params[:id]).paginate(:page => params[:page], :per_page => 25)
  end

Модель Opportunity имеет столбец company_id. (Компания имеет_много возможностей). Таким образом, вышеизложенное работает отлично, если мой URL-адрес «companies/1».

Так как я внедрил Дружественный ID, теперь у меня есть столбец «slug» в моей модели Company. Итак, по сути, мне нужно сопоставить идентификатор компании с идентификатором возможности, а затем взять слаг?

Я пытаюсь что-то вроде этого, но это не работает:

  def show
    @opportunities = Opportunity.where("company_id = ?", params[:id]).find(params[:slug]).paginate(:page => params[:page], :per_page => 25)
  end

Как я должен на самом деле делать это?

Спасибо.


person Community    schedule 24.11.2013    source источник


Ответы (1)


Вы можете использовать дружественные находки, что-то вроде этого

def show
  @company = Company.friendly.find(params[:id])
  @opportunities = @company.opportunities.paginate(:page => params[:page], :per_page => 25)
end

Надеюсь это поможет

person strivedi183    schedule 24.11.2013
comment
Я всегда стараюсь сделать это сложнее, чем есть на самом деле! Спасибо большое. - person ; 25.11.2013
comment
Не беспокойтесь, рад, что смог помочь - person strivedi183; 25.11.2013