2013-02-11 5 views
0

это моя модельне удалось создать URL

class Tourisme < ActiveRecord::Base 
    has_friendly_id :title, :approximate_ascii => true 

    . 
    . 

end 

когда название содержит "?" или "/" и я хочу, чтобы генерировать URL:

admin_tourisme_path(tourisme) 

я получил ошибку

admin_tourisme_url failed to generate from {:action=>"show", :id=>#<Tourisme id: 14, title: "title with ?", description:............. 

как я могу исправить это

ответ

0

Так чтения документов (http://rubydoc.info/github/norman/friendly_id/master/file/WhatsNew.md) для friendly_id я нашел 2 решения:

1 - использовать #normalize_friendly_id в модели: от Doc:

До свидания Babosa

Babosa является FriendlyId 3 По закупориванию библиотеки.

FriendlyId 4 не использует его по умолчанию, так как наиболее важные части его были уже приняты в Active Support, 3.

Однако Babosa еще полезно, например, для идиоматически транслитерации кириллицы (или другой язык) в ASCII. Это очень легко включить - просто переопределить #normalize_friendly_id в модели:

class MyModel < ActiveRecord::Base 
    ... 

    def normalize_friendly_id(text) 
    text.to_slug.normalize! :transliterations => :russian 
    end 
end 

2 - Использование инерционной модели: http://rubydoc.info/github/norman/friendly_id/master/FriendlyId/Slugged

Смежные вопросы