J'utilise le friendly_id gem pour gérer les limaces dans mon application Rails 4. Par souci de simplicité, disons que j'ai deux ressources, Missions et Tâches. Les tâches sont imbriquées à l'intérieur Missions. Les deux modèles utilisent FriendlyId, et les limaces fonctionnent bien. Parce qu'une Tâche appartient à un Mission, un La tâche a un mission_id dessus.Rails surcharger friendly_id imbriqué dans l'action de mise à jour
Je rencontre un problème lorsque je mets à jour un Tâche. Parce que le mission_id vient à travers les paramètres comme une limace (une chaîne friendly_id et non un identifiant entier), le mission_id sur la Task est mis à jour comme , car il est attend un entier et est passé un string.
Quelqu'un a des idées sur la façon de résoudre ce problème?
routes.rb
resources :missions do
resources :tasks
end
Mission.rb
class Mission < ActiveRecord::Base
extend FriendlyId
friendly_id :name, use: :slugged
has_many :tasks
end
Task.rb
class Task < ActiveRecord::Base
extend FriendlyId
friendly_id :name, use: :slugged
belongs_to :mission
end