如何找到带有友好ID的slug找到的记录的关联记录?

时间:2013-11-24 19:02:00

标签: ruby-on-rails ruby-on-rails-4 friendly-id

我已经实施了友好ID,现在我无法通过slug将公司的机会联系起来(我的ID工作正常)。

CompaniesController:

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

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

由于我已经实施了友好ID,我现在在我的公司模型中有一个“slug”列。所以基本上我需要将公司ID与机会ID相匹配,然后抓住slug?

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

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

我该怎么做呢?

感谢。

1 个答案:

答案 0 :(得分:0)

你可以使用友好的发现,像这样

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

希望这有帮助