Ruby-on-Rails + FriendlyId gem + Acts_as_Votable gem - 出现 Heroku 错误

Ruby-on-Rails + FriendlyId gem + Acts_as_Votable gem - getting a Heroku error

在我的索引页面中,我将以下内容作为设置 Acts_as_votable gem 的一部分。

<%= link_to like_bike_path(bike), method: :put, class: "btn btn-default" do %>

在我添加 FriendlyId 之前它工作正常,可能是因为 like_bike_path 正在寻找一个 id 而不是 friendlyID(即虚荣心 URL)。有没有办法改变

like_bike_path

类似于

like_friendly.find_path

适用于 Localhost:3000,但 Heroku 日志告诉我 ActionView::Template::Error (undefined method slug' for #<Bike" 我的两个 acts_as_votable 调用 "like_bike_path(bike)" 和“<%= bike.get_upvotes.size %>”。

谢谢!

#app/models/bike.rb
class Bike < ActiveRecord::Base
   extend FriendlyId
   friendly_id :column, use: [:finders, :slugged]
end

这将允许使用 slug 而无需更改 ActiveRecord 中的默认模式... (@bike = Bike.find params[:id])。

--

关于您的 heroku 错误,这意味着您尚未迁移数据库(它的列中不包含 slug)。

您需要确保 运行 heroku run rake db:migrate,并确保您已重新保存任何 @bike 记录(因此 slug 列是人口稠密)。