如何使用基于另一个选择的db调用填充选择

时间:2015-08-05 10:37:36

标签: ruby-on-rails http

我有一个表单,根据在另一个选择下拉列表中进行的选择,填充下拉列表1.如果下拉列表1,则选项A,B& C(从数据库单独调用)如果我选择A,应用程序将使用A作为变量进行GET,并使用返回的结果填充下拉列表2。

我在想这可以通过多种方式完成,但还没有弄清楚要采取的方向。我要采取的第一种方法是立即执行调用,并将与A,B和C相关的值添加到下拉列表1,因此当它被激活时,附加值将填充下拉列表2.此外,我还试图计算如何触发根据用户点击第一个选择动态调用HTTP GET。

任何人都可以提供一些有关如何实现这一目标的建议。

修改

我们如何执行HTTP的示例

def get_call(routePath)
  started_at = Time.now
  enc_url = URI.encode("#{settings.abacus_service_endpoint}#{routePath}")
  uri = URI.parse(enc_url)
  http = Net::HTTP.new(uri.host, uri.port)

  req = Net::HTTP::Get.new(uri.request_uri, get_header_for_abacus_service)     
  resp = http.request(req)
  logger.bench 'SERVICE - GET', started_at, routePath
  return resp if response_ok?(resp)
end

2 个答案:

答案 0 :(得分:1)

您是否尝试在动态选择菜单上查看rbates railscast。如果你没有那么请看看它。 在轨道广播中,他根据所选国家/地区填充州/省,如果它听起来像您想要实现的那样是链接。

http://railscasts.com/episodes/88-dynamic-select-menus

希望它对你有所帮助。

答案 1 :(得分:0)

你可以做两件事

  1. 使用jQuery' PictureBox事件发出ajax请求以获取另一个batch_action :export do |ids| redirect_to "/admin/orders.csv?q[id_in][]=" + ids.join("&q[id_in][]=") end 的数据并填充选项。

  2. 将其他change放入局部并将其渲染