【问题标题】:how to fix undefined method `find_by_friendly_id'如何修复未定义的方法“find_by_friendly_id”
【发布时间】:2018-01-12 12:17:00
【问题描述】:

我正在尝试这个

Opportunity.find_by_friendly_id(params[:id])

在配置了friendly_id 的rails 应用程序中。我明白了

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

有趣的是,这是可行的:

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

怎么了?

这是来自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

更新:有人想看这个:

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

【问题讨论】:

标签: ruby-on-rails permalinks slug friendly-id


【解决方案1】:

我最终将finders 添加到模型中

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多