javascript - 从 Javascript 到 Rails Action

标签 javascript ruby-on-rails

我目前有一个城市,有人会进入系统,我想从我的 javascript 操作转到 Rails 操作,这样我就可以从数据库中获取 city.id。例如

我的 JavaScript

function get_city(city){
   //city comes in like "Washington DC"
}

我的 Rails 操作

def return_city_id
  @city = City.find_by_name(params["name"])
  return @city.id
end

最佳答案

尝试 Ajax 。您可以在routes.rb中设置路径,例如find_city_id_by_name?name=Washington DC。然后就可以使用jquery发送请求了。

$.ajax({
  url: 'find_city_id_by_name',
  data: {'name' : city},
  dataType: 'text',
  success: function(id) {
    alert(id);
  }
});

在 Controller 中,您需要编写单个 id 作为请求响应:

render :text => id

更多信息:
http://api.jquery.com/jQuery.ajax/

虽然你问的肯定是可行的,但每次你需要通过城市名称获取城市 ID 时查询后端对我来说听起来是个坏主意。如果名称本身来自后端(例如,您有城市列表供用户选择),最好将 id 与名称一起提供(对用户不可见,但在 html 中的某处)。

关于javascript - 从 Javascript 到 Rails Action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3384090/

相关文章:

ruby-on-rails - Ruby,检查日期是否是周末?

ruby-on-rails - 在 Rails 3 (3.0.3) 中设置 Shoulda under Test/Unit

ruby-on-rails - tinymce 图片上传后服务器响应错误

javascript - 机器人命令的角色权限

javascript - Grunt 插件不会覆盖任务级别选项

php - 脚本在 Ajax 返回值中不起作用

ruby-on-rails - Rails 中常量放置位置

ruby-on-rails - RailsAdmin + Devise...身份验证

javascript - jquery 总数

javascript - jquery获取选中的复选框行并将其传递到ajax中