2017-08-04 3 views
0

Ich versuche, diesewie nicht definierte Methode `find_by_friendly_id‘

Opportunity.find_by_friendly_id(params[:id]) 

in einer Rails-Anwendung beheben mit friendly_id konfiguriert. Ich bekomme

undefined method `find_by_friendly_id' for #<Class:0x007f8060395ca0> Did you mean? find_by_sql 

Interessanterweise funktioniert das:

Opportunity.friendly.find(params[:id]) 

, was los ist?

Hier ist die Dokumentation von https://github.com/norman/friendly_id/blob/master/lib/friendly_id/finder_methods.rb

# If you want to search only by the friendly id, use {#find_by_friendly_id}. 
# @raise ActiveRecord::RecordNotFound 

Update:

$ cat components/core/app/models/opportunity.rb | grep friendly 
    friendly_id :slug_candidates, use: :slugged 
$ 
+0

nach https: jemand dies sehen wollte//github.com/norman/friendly_id/issues/701#issuecomment-142669074. Ich kann diese Methode verwenden –

+0

http://www.rubydoc.info/github/norman/friendly_id/FriendlyId%2FFinderMethods%3Afind_by_friendly_id –

+0

Warum gibt es eine -1 Abstimmung über diese Frage, was los ist ... –

Antwort

0

Ich landete Zugabe finders zum Modell

friendly_id :foo, :use => [:slugged, :finders]