我知道 rails 方法 find_by_name 但是如果我有一个对象而不是名称怎么办?假设我有@car
和@brand
对象。我如何搜索所有cars
具有特定对象的brand
对象。
就像是@cars = Car.find_by_brand(@brand)
我试过@cars = @brand.cars
了,但这似乎只拉了一个父模型。
编辑 - 有关代码的更多信息
汽车控制器:
has_and_belongs_to_many :brands
品牌型号:
attr_accessible :name
has_and_belongs_to_many :cars
品牌控制器
def create
@car = Car.find(params[:car_id])
@brand = Brand.create
@brand.assign_attributes({ :name => params[:brand][:brands][:name] })
@brand.cars << @car
if @brand.save
redirect_to @car
else
flash[:notice] = "Error!"
redirect_to @car
end
end
def findcars
@brand = Brand.find_by_name(params[:brand_name])
@cars = @brand.cars
end
看法
<%= link_to brand.name, findcars_car_brand_path(@car, brand_name: brand.name), method: "get" %>
路线
resources :cars do
resources :brands do
member { get :findcars }
end
end
表- 连接表没有模型
brands (name:string)
cars (name:string)
brands_cars (brand_id:integer, car_id:integer)