ruby-on-rails - 如何将 rails 变量设置为等于 Javascript 变量?

标签 ruby-on-rails variables

我想做类似于 How to pass a Javascript variable to Rails Controller? 的事情但我似乎无法让它为我的目的工作。我正在使用拖放 jQuery 将“项目”传输到“ pod ”。这是我的代码:

function onReceive(id,pod_id){
var id = id;
var pod_id = pod_id;
confirm("Add " +id + " to " + pod_id + "?");
}

我想做的其实是这样的:

function onReceive(id,pod_id){
<% @pod_id = pod_id %>
<% @id = id %>
}

但我知道解决方案并不那么容易。如何将 id 和 pod_id 传递给我的 Controller ?理想情况下,我想将它传递给更新操作。 P.S.:我根本不知道 AJAX,所以如果这是唯一的方法,请提供详细信息...

最佳答案

将数据从浏览器客户端传递到 Rails 应用程序的唯一方法是通过 HTTP。要在 JavaScript 中执行 HTTP,您可以使用 XHR(也称为 AJAX)。您不能像您在代码示例中建议的那样在模板中执行此操作,因为模板由服务器上的 Rails 呈现,并在客户端上评估为 HTML 和 JavaScript。客户端/浏览器与服务器之间没有内联通信。

假设 jQuery:

function onReceive(id,pod_id){
    $.ajax({
        url: "/some/url",
        data: {pod_id: pod_id, id: id} 
    });
}

然后你需要设置一个 Controller 来响应/some/url,并用params[:pod_id]做任何你需要做的事情。和 params[:id] .

关于ruby-on-rails - 如何将 rails 变量设置为等于 Javascript 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6835512/

相关文章:

ruby-on-rails - Rails 提前一个月到二月有时会失败

ruby-on-rails - 加强全局环境任务 rails

html - Ruby on Rails 或以编程方式生成的 <span> 或 <img>,每个都在一行上,在显示时会在它们之间产生空格

javascript - 如何获取json变量的关键字?

mysql - 在 MySQL 中创建表变量

r - 导致对象消失的函数

ruby-on-rails - Rails 说 json 1.8.1 丢失,即使它在 bundle 安装期间列出

ruby-on-rails - 强参数 - 无法访问深层嵌套的属性

php - 从 laravel 中包含的 Blade 获取 Blade 中的变量

Java变量值作为新变量名