我目前有一个城市,有人会进入系统,我想从我的 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/