У меня установлено friendly_id и ActiveScaffold для моего приложения Rails.
Поскольку не все мои модели имеют уникальные поля имени, я должен использовать Slugged Model , чтобы заставить его работать.friendly_id выполняет работу безупречно. У меня есть дружественные URL-адреса, и я могу загрузить объекты, используя дружественный идентификатор.
Но когда я хочу создать новый объект с ActiveScaffold, он говорит следующее сообщение об ошибке:
ActiveScaffold :: ReverseAssociationRequired (Слагаемые ассоциации: для поддержки: has_one и: has_many, где родительская запись является новой, а дочерняя запись (записи) проверяет наличие родителя, ActiveScaffold требуется обратная ассоциация (own_to).)
Конечно, я не могу создать ассоциацию belongs_to
на этой стороне, потому что она создается модулем friendly_id
, и в нее должна быть включена каждая модель, которая работает в ином режиме.
Модель выглядит так:
class FooBar < ActiveRecord::Base
has_friendly_id :name, :use_slug => true, :approximate_ascii => true
end
По моему ApplicationController
:
class Admin::FooBarsController < Admin::ApplicationController
active_scaffold :foo_bar do |config|
config.list.columns = [ :id, :name ])
config.update.columns = [ :name ]
config.create.columns = config.update.columns
end
end
Есть ли способ заставить эту работу работать?
Версии: friendly_id3.2.0
, ActiveScaffold последний в ветке rails-2.3
git.
ОБНОВЛЕНИЕ : похоже, что он не конфликтует в рабочем режиме.