通过friendly_id而不是id查找项目

时间:2017-05-20 14:20:13

标签: ruby-on-rails

我安装了friendly_id gem,效果很好。我的问题是我的评论与博客等其他几个方面有多态关系。我将注释设置为两者的id,例如blog id,然后是comment id。就像在我的评论控制器中一样:

  def load_commentable
    resource, id = request.path.split('/')[1,2]
    @commentable = resource.singularize.classify.constantize.find(id)
  end

我现在的问题是我对所有事情都有友好的帮助,这已经不再适用了。当然,它正在拉动友好的身份。

Couldn't find Blog with 'id'=cobra-kai-here-we-go-again

如何解决此问题,以便友好ID找到评论所属的资源?

1 个答案:

答案 0 :(得分:1)

我会在idfriendly_id之间保持分离,因此id默认情况下不会被覆盖,并且仍然可以在模型关系中使用friendly_id来自l1 = ['20:00,20:01'] l2 = ['20:00'] l3 = ['20:01'] if l2[0] in new_list[0]: print "l2 in l1" if l3[0] in new_list[0]: print "l3 in l1" 控制器只能使用Model.friendly.find(' id')语法。

Check this change in friendly_id gem in version 5.0