Ruby on Rails中如何实现嵌套的has_many关联关系?
- 内容介绍
- 文章标签
- 相关推荐
本文共计310个文字,预计阅读时间需要2分钟。
我正在使用Rails 2.3.5,`Class User` 是一个ActiveRecord的`Base`类,它通过`has_many :phones`关联到`Phone` Active Record 的`Base`类。`Phone`类又通过`has_many :frequency_bands`关联到`FrequencyBand` Active Record 的`Base`类。我想为用户获取所有`frequency_bands`。
我知道可以为用户编写`def freq_bands`方法,但我想直接输出结果。
我正在使用Rails 2.3.5.Class User < ActiveRecord::Base has_many :phones end class Phone < ActiveRecord::Base has_many :frequency_bands end
我想为用户获取所有frequency_bands.我知道我可以为用户编写def freq_bands方法,但我想知道是否可以为用户提供has_many freq_bands.通过这种方式,我可以链接呼叫.
我想拥有的是什么
class User < ActiveRecor::Base has_many :frequence_bands, :through => phones end
我认为使用这个插件github.com/ianwhite/nested_has_many_through可以嵌套has_many
但是,如果可能的话,我想避免使用另一个插件并仅依靠rails.
class User < ActiveRecord::Base has_many :phones has_many :frequence_bands, :through => :phones end
工作得很好.如果手机本身也是一个has_many_through关系,你只需要嵌套的has_many_through插件,它不在你的例子中.
(编辑:不要忘记最后一个属性前面的“:”)
本文共计310个文字,预计阅读时间需要2分钟。
我正在使用Rails 2.3.5,`Class User` 是一个ActiveRecord的`Base`类,它通过`has_many :phones`关联到`Phone` Active Record 的`Base`类。`Phone`类又通过`has_many :frequency_bands`关联到`FrequencyBand` Active Record 的`Base`类。我想为用户获取所有`frequency_bands`。
我知道可以为用户编写`def freq_bands`方法,但我想直接输出结果。
我正在使用Rails 2.3.5.Class User < ActiveRecord::Base has_many :phones end class Phone < ActiveRecord::Base has_many :frequency_bands end
我想为用户获取所有frequency_bands.我知道我可以为用户编写def freq_bands方法,但我想知道是否可以为用户提供has_many freq_bands.通过这种方式,我可以链接呼叫.
我想拥有的是什么
class User < ActiveRecor::Base has_many :frequence_bands, :through => phones end
我认为使用这个插件github.com/ianwhite/nested_has_many_through可以嵌套has_many
但是,如果可能的话,我想避免使用另一个插件并仅依靠rails.
class User < ActiveRecord::Base has_many :phones has_many :frequence_bands, :through => :phones end
工作得很好.如果手机本身也是一个has_many_through关系,你只需要嵌套的has_many_through插件,它不在你的例子中.
(编辑:不要忘记最后一个属性前面的“:”)

