我正在使用friendly_id gem来处理我的 Rails 4 应用程序中的 slug。为简单起见,假设我有两个资源Missions和Tasks。 任务嵌套在Missions中。两种模型都使用 FriendlyId,并且 slug 工作正常。因为Task属于Mission,所以Task上有一个mission_id。
更新Task时遇到问题。因为mission_id作为一个slug(一个friendly_id 字符串而不是一个整数id)通过参数,所以Task上的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
任务.rb
class Task < ActiveRecord::Base
extend FriendlyId
friendly_id :name, use: :slugged
belongs_to :mission
end