Rails 4 アプリでスラッグを処理するために Friendly_id gemを使用しています。簡単にするために、MissionsとTasksという 2 つのリソースがあるとします。 タスクはMissions内にネストされます。どちらのモデルも FriendlyId を使用しており、スラッグは正常に動作しています。TaskはMissionに属しているため、Taskにはmission_idがあります。
Taskを更新すると問題が発生します。Mission_idはスラッグ (整数の ID ではなく、 Friendly_id 文字列) としてパラメーターを通過するため、タスクのMission_idは0として更新されます。これは、整数が想定され、文字列が渡されるためです。
誰でもこれに対処する方法について何か考えがありますか?
ルート.rb
resources :missions do
resources :tasks
end
ミッション.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