stringex icon indicating copy to clipboard operation
stringex copied to clipboard

initialize_urls not updating slugs as expected.

Open sergiotapia opened this issue 9 years ago • 2 comments

I have a Company model, with fields name and slug:

class Company < ActiveRecord::Base
  acts_as_url :name, url_attribute: :slug
end

For new records, the gem converts asian characters to phonetic letters fine. Now I'm just trying to do the same for all of the existing records in our database.

For example here's one existing record we want to fix the slug for:

[1] pry(main)> Company.last.name
=> "Working 你好"

[2] pry(main)> Company.last.slug
=> "----"

After running the initialize_urls method, I expect the slug to be updated with the phonetic letters, but they don't change.

Here's the rake task that starts off the process:

# Rake task that iterates through all of the Companies in the database
# and regenerates their slug values from their name attribute.
task regenerate_company_slugs: :environment do
  Company.initialize_urls
end

sergiotapia avatar Feb 11 '16 00:02 sergiotapia

URLs will only be updated when the slug is nil.

fauxparse avatar Sep 05 '16 01:09 fauxparse

what do you think about having another method do this functionality. initialize [to me] is the right term here as it's [to me] stating it will set one if not set. thoughts?

rsl avatar Jan 18 '17 14:01 rsl