[英]Ruby/Rails .first .last .current?
Ruby / Rails中是否存在.current之类的东西?
在我的Release模型中,我有以下内容可以接受轨道作为嵌套属性。 我正在使用:after_add通过连接表在has_many中手动设置位置列。 理想情况下,我希望这可以从表单的fields_for部分发送的position属性中填充,或者从保存时在tracks表/模型中设置的值中复制。
我可以设置所有条目的第一个或最后一个位置,但不能设置与该音轨相关的当前位置吗?
理想情况下,我需要releases_tracks.each {| t | t.position = self.tracks.last.position}类似于releases_tracks.each {| t | t.position = self.tracks.current.position}
has_many :releases_tracks, :dependent => :destroy, :after_add => :position_track
has_many :tracks, :through => :releases_tracks, :order => "position"
accepts_nested_attributes_for :tracks, :reject_if => lambda { |a| a[:name].blank? }, :allow_destroy => :true
accepts_nested_attributes_for :releases_tracks
def position_track(track)
releases_tracks.each { |t| t.position = self.tracks.last.position }
end
有人可以帮忙吗?
无法确定我是否正确理解了您,但是据我所知, releases_tracks.each { |t| t.position = t.track.position }
releases_tracks.each { |t| t.position = t.track.position }
应该可以解决您的问题。
belongs_to
- has_many
关系以两种方式工作,因此对于受这种关系约束的两个模型«Owner»和«Belonging», Owner.first.belonging
和Belonging.last.owner
查询均有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.