没有数据库表的rails下拉菜单关联....

Posted

技术标签:

【中文标题】没有数据库表的rails下拉菜单关联....【英文标题】:rails drop down menu association without db table .... 【发布时间】:2013-02-26 11:18:42 【问题描述】:

尊敬的人...

我有这些模型:

class SanctionedPost < ActiveRecord::Base
  attr_accessible :hospital_id, :sanctioned_posts, :designation_id

  column :district_id
  belongs_to:designation
  belongs_to:hospital
  belongs_to:district
  belongs_to:division
end

class Hospital < ActiveRecord::Base
  attr_accessible  :beds, :fax_no, :hospital_name, :phone_no, :district_id, :institution_type_id, :location_id, :division_id, :block_id, :hospital_type_id, :IsAdministrativeLocation, :IsTribal, :latitude, :longitude

  belongs_to:district
  belongs_to:division
  belongs_to:block
  has_many:sanctioned_posts

end

class Division < ActiveRecord::Base
  attr_accessible :division_name, :state_id

  has_many:health_dept_locations
  belongs_to:state
  has_many:districts
  has_many:hospitals

  has_many:sanctioned_posts

  validates_associated :districts
end

我希望能够在我的 sanctioned_posts 中创建下拉列表,以便部门缩小区域,缩小街区,缩小到医院...... (这样我就不必从一百万家医院中选择了......)......

我已经尝试了http://railscasts.com/episodes/88-dynamic-select-menus-revised 和http://railscasts.com/episodes/193-tableless-model 的所有方法,但仍然无济于事......

======================================

我使用简单的表格...这让我可以完成类似的医院创建表格的任务...

<%= f.association :division,label_method: :division_name, value_method: :id, include_blank: false%>

  <%= f.input :district_id do %>
      <%= f.grouped_collection_select :district_id, Division.order(:division_name), :districts, :division_name, :id, :district_name, include_blank: true, label: 'District'  %>
  <% end %>

  <%= f.input :block_id do %>
      <%= f.grouped_collection_select :block_id, District.order(:district_name), :blocks, :district_name, :id, :block_name, include_blank: true, label: 'Block' %>
  <% end %>

(+ 随附的咖啡脚本...)

但在我目前的情况下,我不能做同样的事情......因为我没有在 sanctioned_posts 模型中存储部门、地区、块 id ......但我相信 hospital_id 在这种情况下会有所帮助...... ..

非常提前:) ...

问候

【问题讨论】:

【参考方案1】:

为什么不使用 CoffeeScript 和 JQuery 对 index 方法进行 REST 请求,您可以相应地配置您的路由? 示例:国家有学校,学校有学生

各州有_many 学校,学校有_many 学生

选择伊利诺伊州的第一个州。伊利诺伊州的 ID 为 11

获取对 /states/11/schools.json 的请求

SchoolsController < ApplicationController
  responds_to :json

  def index
    states = State.find(params[:id)
    respond_with states.schools
  end
end

【讨论】:

以上是关于没有数据库表的rails下拉菜单关联....的主要内容,如果未能解决你的问题,请参考以下文章

带有 jQ​​uery 的 Rails 中的动态下拉(选择框)菜单不可逆

Bootstrap 下拉菜单不与新的 Rails 布局切换

引导表分页下拉菜单不起作用 - Rails

从rails的下拉菜单中选择项目时如何更新数据库字段?

如果空格键在所有浏览器中打开下拉菜单,为啥我的 onchange 触发菜单被认为无法访问

Jquery下拉菜单单击始终打开