Ruby on rails 如何将Her和Active Record模型联系起来?
我有一个用于资产管理的API,我正在构建一个Rails应用程序,它是API使用的客户端,但也处理身份验证 我有一个用户活动记录模型。如何将Her模型与活动记录模型联系起来 代码如下:Ruby on rails 如何将Her和Active Record模型联系起来?,ruby-on-rails,ruby,ruby-on-rails-4,activerecord,Ruby On Rails,Ruby,Ruby On Rails 4,Activerecord,我有一个用于资产管理的API,我正在构建一个Rails应用程序,它是API使用的客户端,但也处理身份验证 我有一个用户活动记录模型。如何将Her模型与活动记录模型联系起来 代码如下: class Resource include Her::Model has_many :bookings parse_root_in_json true, format: :active_model_serializers end class Booking include Her::Mo
class Resource
include Her::Model
has_many :bookings
parse_root_in_json true, format: :active_model_serializers
end
class Booking
include Her::Model
belongs_to :User
belongs_to :Resource
parse_root_in_json true, format: :active_model_serializers
end
class User < ActiveRecord::Base
has_many :Bookings
end
不确定您是否有这种可能性,但与其在
Booking
API调用中返回user
字段,不如调用它user\u id
,然后您可以得到如下内容:
def user
@user ||= User.find(self.user_id)
end
如果你不能改变API,你也可以这样做,但是命名会有点奇怪。
我使用
| |=
来确保对于给定的预订
只查找特定用户一次 对于那些不知道她的是什么的读者来说:“她”是旧的和古老的ActiveResource
的替代品。林克:我以前从未听说过,它看起来像一块巨大的宝石。这将有助于在问题中进一步解释这一点,我想这是导致否决票的原因吧?中的大写用户
和资源
属于
故意的吗?谢谢!!这成功了!只需要转换为int就可以了(self.user\u id.to\u i)
def user
@user ||= User.find(self.user_id)
end