Ruby-on-Rails + FriendlyId gem + Acts_as_Votable gem - 获得Heroku错误

时间:2016-02-02 22:48:36

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

在我的索引页面中,我将以下内容作为设置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)”和“&lt;%= bike.get_upvotes.size%&gt;”。

谢谢!

1 个答案:

答案 0 :(得分:0)

#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列。)