如何查找由具有Friendly ID的slug找到的记录的关联记录



我已经实现了Friendly ID,现在我很难通过slug为一家公司关联机会(我通过ID很好地实现了这一点)。

CompaniesController:

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

Opportunity模型有一个company_id列。(公司有很多机会)。所以上面的工作是完美的,我的网址是"公司/1"。

自从我实现了Friendly ID之后,我现在在我的公司模型中有了一个"slug"列。所以本质上我需要将公司ID与机会ID相匹配,然后抓住子弹?

我正在尝试这样的东西,但它不起作用:

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

我应该怎么做?

谢谢。

您可以使用友好的查找,比如这个

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

希望这能帮助

最新更新