0
- 品牌
- 船
- 電機
- boat_motor_packages
品牌的has_many電機
電機屬於品牌
一個boat_motor_package belongs_to的一條船,機動
船的has_many boat_motor_packages
我需要做兩件事情
- 列表中的品牌每個boat_motor_package
- 列表與相關的boat_motor_packages每個品牌
例如,
我有1船
我有2個品牌 - 「埃文魯德」 和 「汞」
我有4個發動機,2各品牌
這下我多麼希望它看起來在我看來模板
埃文魯德
- 50HP
- 60HP
汞
- 55HP
- 65hp
這裏是我的控制器操作
def show
@boat = Boat.find(params[:id])
packages = BoatMotorPackage.where(boat: @boat).all
@package_motor_brands = packages.map { |p| p.motor.brand }
end
@package_motor_brands是給我所有的品牌我需要
現在我需要去與該艇和
我試圖做財產以後這樣的motor.brand相關的電機包:
[email protected]_packages(brand).each do |motor_package|
,並創建一個方法看起來像這樣的船類:
def motor_packages(brand)
BoatMotorPackage.where(["boat => ? and motor.brand => ?", self, brand])
end
但這不起作用。我收到一個錯誤消息,指出motor.brand列不存在。這是事實,因爲它在電動機桌上是實際的。有誰知道正確的方法來做到這一點?
這是我的看法櫃面,幫助
- @package_motor_brands.each do |brand|
.col-xs-6.motor-group-container
%h5= brand.name
[email protected]_packages(brand).each do |motor_package|
.row
.col-xs-12.motor-group
%label.motor-group-name
%input#motorPackageRadios1{:name => "motorPackages", :type => "radio", :value => "#{motor_package.id}"}/
="#{motor_package.motor.hp.to_s}HP #{motor_package.motor.motor_type}"
.motor-group-price="#{motor_package.price_in_cents}"