我已经实现了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
希望这能帮助