0

Rails 4 アプリでスラッグを処理するために Friendly_id gemを使用しています。簡単にするために、MissionsTasksという 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
4

1 に答える 1