SongsController#index 中的 NameError 未初始化常量 Song::FriendlyId

2024-04-02

所以,我有一个应用程序,用户可以在其中进行大量的社交分享。因此,链接必须看起来很漂亮。

我已经安装了友好 ID 宝石 http://rubydoc.info/github/norman/friendly_id/master/

但似乎收到此错误:

NameError in SongsController#index
uninitialized constant Song::FriendlyId

class Song < ActiveRecord::Base

   extend FriendlyId
    friendly_id :title, use: :slugged

歌曲.r&b 片段

class Song < ActiveRecord::Base

   extend FriendlyId
    friendly_id :title, use: :slugged

歌曲控制器片段

  class SongsController < ApplicationController
  before_filter :authenticate_user!, only: [:create ,:edit, :update, :destroy, :vote_for_song]
  before_action :set_song, only: [:show, :edit, :update, :destroy, :vote_for_song]

  def index
    if params[:query].present? 
      @songs = Song.search(params)
      get_last_song
    elsif params[:genre]
      @songs = Song.tagged_with(params[:genre]).paginate(:page => params[:page], :per_page => 15)
      get_last_song
    else      
      @songs = Song.order('id').order('plusminus desc nulls last').paginate(:page => params[:page], :per_page => 15) 
      #@songs = Song.tally.paginate(:page => params[:page], :per_page => 15)
      get_last_song
    end
  end
  def set_song
       @song = Song.friendly.find(params[:id])
     end

     def song_params
       params.require(:song).permit(:title, :artist, :url, :track, :user_id, :tag_list, :query, :genre, :genre_names, )
     end
  end

schema.rb 片段

  create_table "songs", force: true do |t|
    t.string   "title"
    t.string   "artist"
    t.text     "url"
    t.string   "track_file_name"
    t.string   "track_content_type"
    t.integer  "track_file_size"
    t.datetime "track_updated_at"
    t.integer  "user_id"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer  "plusminus"
    t.string   "slug"
  end

  add_index "songs", ["slug"], name: "index_songs_on_slug", unique: true, using: :btree



create_table "friendly_id_slugs", force: true do |t|
    t.string   "slug",                      null: false
    t.integer  "sluggable_id",              null: false
    t.string   "sluggable_type", limit: 40
    t.string   "scope"
    t.datetime "created_at"
  end

问题已解决,每当您看到未初始化的常量时,通常意味着您必须运行

bundle install

and then

exit // rails s (restart your server)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SongsController#index 中的 NameError 未初始化常量 Song::FriendlyId 的相关文章

随机推荐

  • 使用WMI远程卸载应用程序

    我正在尝试编写一个迷你 w32 可执行文件来使用 WMI 远程卸载应用程序 我可以使用下面的代码列出所有已安装的应用程序 但我找不到通过 WMI 和 C 远程卸载应用程序的方法 我知道我可以使用 msiexec 作为进程来执行相同的操作 但
  • gradle 在哪里保存依赖项的 jar?

    我想查看添加依赖项时编译的 jars aars 例如 如果我在 Gradle 中添加此依赖项 它会将 jar 放在哪里 dependencies compile com google android gms play services an
  • 在knitr中跨行分割r块标题

    当我在 R 块标头中插入长标题等内容时 如果能够将标头拆分为多行 那就太好了 有什么简单的方法可以做到这一点吗 E g r echo FALSE warning FALSE fig cap Here is my really long ca
  • 关于“ls”,我如何只显示目录(链接目录和隐藏目录除外)

    我遇到一些关于 ls 这个命令的问题 我只想打印没有隐藏或链接的目录 但我用 man ls 查看解释 但没有找到 如果有一面旗帜表明我可以做我想做的事 thanks 下面是我要解决的问题 4 显示可见出口 This is two comma
  • 来自 Jenkins 的参考 Xcode 版本号

    我正在尝试在 Jenkins Build 中获取对 Xcode 项目 CFBundleVersionString 或 CFBundleVersion 的引用 我的目标是能够以这种方式设置内部版本号 CFBundleVersionString
  • Python 中 pickle 的常见用例

    我看过pickle http en wikipedia org wiki Pickle 28Python 29文档 但我不明白 pickle 在哪里有用 pickle 的一些常见用例有哪些 我遇到过的一些用途 1 将程序的状态数据保存到磁盘
  • 如何最大化和最小化div(没有jquery只有javascript)

    你好 我需要仅使用javascript而不是jquery来最大化或最小化我的html页面中的div 我希望能够这样做http jsfiddle net miqdad Qy6Sj 1 http jsfiddle net miqdad Qy6S
  • 如何在 winform 中托管带有 UI 的控制台 exe

    我正在开发一个具有某些特定要求的项目 我需要创建一个可以使用 C 监视并在其中运行 exe 的程序 然而 使用控制台程序来实际托管另一个exe的方法似乎没有尽头 所以我使用了WinForm 我一直在寻找并找到了一些非常好的解决方案 它在 W
  • 在PowerShell中获取PATH环境变量

    我想检查 PowerShell 中的 PATH 环境变量 我试过了 Get ChildItem env path 我想获得完整的路径 但只获得其中的很小一部分 我得到多少取决于 PowerShell 窗口的宽度 例如 C Program F
  • Google API 客户端机密错误 (Python)

    我想从 Google Analytics 检索数据 我已经在控制台中创建了一个服务帐户 并且我正在使用 Google 的 Python hello analytics api v3 py 代码来访问数据 我已经复制了client secre
  • Mac OS Cocoa:在画布上绘制一个简单的像素

    我希望我能找到这个问题的答案 我搜索了又搜索 找不到正确的答案 这是我的情况 在 Mac OS Cocoa 应用程序中 我想在应用程序窗口的专用区域上绘制一个像素 实际上是几个像素 我想 如果有一个就更好了NSImageView放置在那里
  • 对多列进行 GroupBy 并应用移动功能

    假设我有这个数据集 Country id Company id Date Company value 1 1 01 01 2018 1 1 1 02 01 2018 0 1 1 03 01 2018 2 1 1 04 01 2018 NA
  • 如何在jest和enzyme中设置useState Hook的初始状态?

    目前我正在使用带有反应钩子的功能组件 但我无法测试useState完全挂钩 考虑这样一个场景 useEffect钩子我正在执行 API 调用并在中设置值useState 对于笑话 酶 我模拟了要测试的数据 但我无法设置初始状态值useSta
  • 有没有一个工具可以检测重复的接口 GUID?

    这是一个典型的复制粘贴错误 如果复制粘贴某些包含带有 GUID 的接口声明的 Delphi 代码 Delphi 将不会抱怨并编译在不同位置重复使用相同 GUID 的代码 支持 功能基于 GUID 与接口配合使用 因此可能会出现错误 是否有可
  • dotNet(或 C#)中是否考虑了闰秒?

    DateTime 结构会处理这个问题吗 还有其他类 结构吗 更新 我现在读到闰秒只提前 6 个月宣布 因为地球的自转不是那么可预测的 由于在未来的日期中不可能实现这一点 我可以想象他们只是省略了它们 据我所知 NET 的 DateTime
  • 如何在瘦控制台窗口中查看调试代码?

    在 Mongrel 中 我们能够看到任何 ruby 调试代码 安装 Thin 并执行后thin start 我在控制台窗口上没有看到任何调试代码 这是正常的吗 我们应该使用tail f log development log在新的控制台窗口
  • 如何指定Qmake自动生成的资源文件?

    我有一个带有德语翻译的 Qt 项目 Translation de ts 自动编译成Translation de qm通过 Qmake TRANSLATIONS Translation de ts QMAKE EXTRA COMPILERS
  • Fluent-NHibernate 是否支持映射到过程?

    我一直想知道是否可以让 Fluent NHibernate 与已经存在的存储过程进行通信 并将结果集的映射分配给我自己的域对象 Fluent NHibernate 是否能够直接执行不返回结果集的过程 基本上 我一直在考虑使用 Fluent
  • Math.cos() 给出错误结果

    根据 Wolfram Mathematica 的说法 cos 50 0 6427876096865394 但是 Java 中的这段代码 System out println Math cos 50 gives 0 9649660284921
  • SongsController#index 中的 NameError 未初始化常量 Song::FriendlyId

    所以 我有一个应用程序 用户可以在其中进行大量的社交分享 因此 链接必须看起来很漂亮 我已经安装了友好 ID 宝石 http rubydoc info github norman friendly id master 但似乎收到此错误 Na