如何访问rails中belongs_to关联中的字段
我正在使用具有用户和授权模型的rails应用程序。 Eacch用户可以拥有多个授权,每个授权都属于特定用户。 我为此使用了belongs_to协会。 现在当我试图访问特定用户的授权使用时
user = User.find(params(:id)) auth = user.authorizations
现在的问题是当我尝试使用授权访问字段时
auth.id
我没有找到方法发现错误,但以下
Authorization.first.id
工作良好。 他们之间有什么区别?
如果用户has_many :authorizations
则user.authorizations
返回用户授权的数组(实际上它返回AR:Relation
但现在无关紧要)。 因此,如果您想获得第一个授权的id
,您可以使用user.authorizations.first
,如果您想获得该用户授权的所有ID,您可以使用user.authorizations.map(&:id)
auth = user.authorizations
现在auth将是一个授权对象数组
auth.first.id
除非数组不为空,否则将起作用
@authorizations = user.authorizations
将返回授权列表。 所以你只需要形成一个循环然后获取字段值。 例
@authorizations.each do |auth| auth.id end
- 如何更改强参数(更改为小写)
- Spree 1.3.2没有显示我的帐户和登录/注销链接,以及控制台中的Spree :: User对象
- 如何让rails以正确的数据类型而不是字符串返回SUM(columnName)属性?
- ActiveRecord查询,按关联顺序,has_many的最后一个
- 我应该在Heroku上部署我的Ruby on Rails应用程序
- RMagick抱怨在OSX中找不到libMagickCore.5.dylib
- 如何设置url helper方法参数的默认值?
- 是否可以在确认后添加闪存消息的链接?
- 如何在Postgres-compat模式下使用H2作为嵌入式数据库,来自jruby / rails