RailsアプリケーションでFriendlyIdgem(バージョン4.0.8)を使用しました。RailsCastsのチュートリアルに従い、ドキュメントに基づいて、Model.find_each(&:save)
古いレコードのスラッグを生成するためにRailsコンソールで実行する必要があります。ただし、これを行うと、古いレコードのすべてのスラッグ属性がnilのままであるため、実際にはURLは変更されません。
私は何か間違ったことをしていますか?ちなみに、これは本番環境でのみ発生します。開発では問題なく動作します。
アップデート:
私のモデルは次のようになります。
class Member < ActiveRecord::Base
extend FriendlyId
friendly_id :name, use: :slugged
belongs_to :gym
attr_accessible :category, :name, :description
validates :category, :name, :description, :presence => true
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
def self.search(search)
if search.present?
where("name LIKE ?", "%#{search}%")
else
find(:all)
end
end
def should_generate_new_friendly_id?
new_record?
end
end