ruby-on-rails - rails3 嵌套包括?

标签 ruby-on-rails ruby-on-rails-3 activerecord

是否有正确的写法,或者我的做法有误?我需要做一个嵌套包含。我找到了 This Link但它似乎不起作用。

def show
    @showring = Ring.includes(:stones => :upcharges, :variations).find(params[:id])
end

我有 3 个表... 有很多石头的戒指 has_many upcharges 的石头

模型:

class Ring < ActiveRecord::Base
  has_many :stones
end

class Stone < ActiveRecord::Base
  has_many :upcharges  
  belongs_to :ring  
end

class Upcharge < ActiveRecord::Base
  belongs_to :stone
end

最佳答案

def show
    @showring = Ring.includes([{:stones => :upcharges}, :variations]).find(params[:id])
end

添加了一些括号:)

获取所有附加费:

@showring.stones.each do |s|
  s.upcharges #Do whatever you need with it
end

选项 2:声明一个 has_many :through

class Ring < ActiveRecord::Base
  has_many :stones
  has_many :upcharges, :through => :stones
end

然后在 View 中:

<%= @showring.upcharges.to_json.html_safe %>

关于ruby-on-rails - rails3 嵌套包括?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11729228/

相关文章:

ruby-on-rails - rails : how can I share permanent cookies across multiple subdomains?

javascript - 将嵌套的 JSON 从 Rails 应用程序发送到 hapijs 应用程序

ruby-on-rails - 验证 Rails 中的重置密码

ruby-on-rails-3 - 导轨 : ActiveRecord Query for has_many :through model

ruby-on-rails - 向 ActiveRecord 枚举字段添加属性

ruby-on-rails - 在 Windows Vista 上发出任何 Rails 命令时出现延迟

ruby-on-rails - 如何屏蔽图片的 Facebook graph api URL?

ruby-on-rails - 如何防止我的 Rails 查询耗尽内存

ruby-on-rails - 与波旁威士忌和 Neat gem 的未定义混合

ruby-on-rails - 验证失败时,Rails 3 fields_for 范围会删除字段