Rails 3.1 Dependent / Cascading Dropdown

我正在处理Rails 3.1,我希望有人可以指向我的Gem方向,这将允许我在表单上使用依赖选择(或指示如何在Rails 3.1中做得最好)。 我遇到过chained_selects插件,但这似乎依赖于原型,所以它在3.1中并不理想。

最简单的例子是汽车品牌/型号:

我有3个型号:vehicleMake,vehicleModel和vehicleTrim。 我还有赋值表vehicleMake_vehicleModel和vehicleModel_vehicleTrim,它们指定适合每个make的模型等。

我有一个车型,我试图填充制作,模型和装饰。 车型属于vehicle_to vehicleMake,vehicleModel和vehicleTrim。

如何确保模型的下拉列表仅显示所选品牌的模型(以及修剪)? 作为第二点,我如何在我的车型中validation这一点?

谢谢!

我不知道任何jQuery插件可以做到这一点。 但实际上它只是一系列Ajax调用。

当从Make下拉列表中选择一个选项时,您将其发送到服务器(通过Ajax),返回关联的Models,然后使用这些选项填充下一个下拉列表。 然后重复修剪。

至于validation,您可能想要使用validates_inclusion_of或只是手动编写它:

 validate :model_matches_make? def model_matches_make? unless Make_Model.where(make: self.make).map(&:model).includes?(self.model) errors.add(:make, "is not valid for your model") end end 

(使用地图感觉不对,所以也许有更好的方法)

Interesting Posts