Ruby on Rails根据第一个下拉列表的选择填充第二个下拉列表

时间:2014-10-11 04:24:28

标签: ruby-on-rails ruby

目前,我有一个下拉列表(<options>),它正在撤回数据库中的状态列表,我希望第一个下拉列表出现并在第一个下拉列表后提供与该状态相关的城市列表被选中。

以下是我希望提供一些澄清的文件样本:

模型/ states.rb:

class States < ActiveRecord::Base
    has_many :cities
end

模型/ cities.rb:

class City < ActiveRecord::Base
    belongs_to :state
    # States are referenced by table column state_id
end

在我正在使用的视图中,我有这个:

  <div class="field">
    <%= f.label :state_id %><br>
    <%= select(:city, :state_id, State.all.collect {|c| [c.name, c.id]}, {prompt: "Select state"}) %>
  </div>

但当然这只会填充第一个下拉列表。有没有简单的方法可以使用任何Ruby on Rails助手来实现我的目标?或者我是否必须使用ajax和jquery?

0 个答案:

没有答案