나는 전화를 추적하는 Rails 3.2.14 앱이 있으며 각 호출에는 연관성이있는 시설 모델의 픽업 및 드롭 오프 기능이 있습니다.레일스 동적으로 콜렉션을 변경하는 방법 양식에서 선택
호출 모델에는 호출이 들어오는 위치를 기반으로 영역을 선택하는 지역 모델 (휴스턴, 달라스, 오스틴 등)에 대한 연결이 있습니다.
내가 원하는 것은 특정 지역 (휴스턴)을 선택할 수 있으며 픽업 시설 컬렉션에서는 휴스턴 지역 시설 만 표시 할 수 있습니다.
는 내가 설정에 다음과 같은 시설과 지역 사이의 관계 필요할 것로 시작하는 있으리라 믿고있어 :
facility.rb을
attr_accessible :region_id
belongs_to :region
region.rb
has_many :facilities
그런 다음 각 시설을 존경과 일치하는 region_id로 설정해야합니다. 지역 (예 : Houston, Dallas 등)이 적절하게 작동하도록합니다.
특정 지역을 선택하고 해당 지역의 시설 만 양식에 표시하는 방법이 확실하지 않습니다. 일부 jQuery/JS/Ajax를 사용하여이 작업을 수행 할 수는 있지만 작업을 수행하는 방법을 모를 것이라고 가정합니다. 여기
는 내 전화, 시설, 지역 모델은 현재 어떤 모습인지의 발췌 한 것입니다 :call.rb
belongs_to :transferred_from, :foreign_key => :transfer_from_id, :class_name => 'Facility'
belongs_to :transferred_to, :foreign_key => :transfer_to_id, :class_name => 'Facility'
belongs_to :region
facility.rb
has_many :calls_transferred_from, :foreign_key => :transfer_from_id, :class_name => 'Call'
has_many :calls_transferred_to, :foreign_key => :transfer_to_id, :class_name => 'Call'
region.rb
여기has_many :calls
같은 것을 내 전화 양식 부분 외모의 발췌 한 것입니다 :이 모든 혼란 또는 설명을 필요로하는 경우
_form.html.erb
<%= form_for(@call) do |f| %>
<%= f.label :region %>
<%= f.collection_select(:region_id, Region.all, :id, :area, {:include_blank => true}, {:class => 'select', required: true}) %>
<%= f.label :Transfer_From %>
<%= f.collection_select(:transfer_from_id, Facility.active.order("facility_name ASC"), :id, :facility_name, {:include_blank => true}, {:class => 'select'}) %>
<%= f.button "Submit", class: 'btn btn-info btn-large', data: {disable_with: "<i class='icon-spinner'></i>Processing..."} %>
<% end %>
알려 주시기 바랍니다 . 요약하면 휴스턴 (Houston) 지역을 선택하고 해당 지역을 선택했을 때 휴스턴 지역에있는 시설 만 표시하려고합니다.
제공 할 수있는 도움말이나 정보를 미리 감사드립니다.
[Railscast : Dynamic Select Menus] (http://railscasts.com/episodes/88-dynamic-select-menus-revised)가 올바른 방향으로 나아갈 수 있다고 생각하지만, grouped_collection_select를 사용하는지 여부. – nulltek
Region과 Facility 사이에 내 연결을 설정 했으므로 그 부분이 제대로 작동합니다. 이제 jQuery/CoffeeScript를 알아 내야 만하고이를 선택하기 위해 내 양식에서 사용할 방법을 알아야합니다. grouped_collection_select가 필요로하는 것을하지 않습니다. – nulltek