使用Plain-Ruby-Object资源的嵌套资源路由

时间:2011-07-07 15:43:34

标签: ruby-on-rails ruby routes nested activemodel

拥有:

class User < WsBasedPlainRubyObject
  def subscriptions
     Subscription.where(:user_id=>self.id)
  end

  [...]
end

class Subscription < ActiveRecord::Base
  has_user #using an underlying composed_of
  [...]
end

resources :users do
  resources :subscriptions
end

当我尝试在视图上使用辅助方法user_subscriptions_path(@current_user)时,params[:user_id]内容包含用户的序列化而不是其id。

是否有任何可行的方法可以避免这种情况,可能是通过使用ActiveModel?

1 个答案:

答案 0 :(得分:0)

显然,user_subscriptions_path(@current_user.id)工作正常..

无论如何,这里有一篇关于如何通过使用ActiveModel使Ruby对象像ActiveRecord对象一样的好文章: ActiveModel: Make Any Ruby Object Feel Like ActiveRecord