0

我在视图中使用以下 JS 代码来计算两个变量“user_name”和“user_uid”:

<script type="text/javascript">
function f1() {
.
.
.
user_name = "some variable";
user_uid = "another variable";
});
}
</script>

我想将两个变量“user_name”和“user_uid”发送到我的控制器。我使用以下代码:

<%= link_to "GO!", new_user_path(:userName => user_name, :userUid => user_id), :remote=> true %> 

我的控制器和模型工作正常。但是这两个变量并没有从 JS 传递到上面嵌入的 ruby​​ 代码。我会很感激任何关于我做错了什么的指示。谢谢!

4

1 回答 1

6

最大的错误是不知道代码在哪里执行:

有许多选项,包括使用 Ruby 变量创建 JS 变量值——这是否是最佳选项取决于。例如:

function f1() {
  var user_name = "<%= escape_javascript(a_ruby_variable) %>";
  // Or, more concisely:
  var user_uid = "<%=j another_ruby_variable %>";

Ruby 变量可以在模板、控制器等中初始化。

同样,它是否应该是值得商榷的。

于 2012-07-12T23:15:39.417 回答