0

我的应用程序中有一个表单,其中有一个复选框。在提交表单时,我需要查看复选框是否被选中,如果是 - 我需要修改模型的属性。这是我的代码不起作用:

$("#customer_submit").click(function(){
if ($("#default_check").is(':checked')){
    <%current_merchant.has_default = true
    <%current_merchant.save%>
}

});

即使不满足检查,Ruby 代码也会被实现。我知道我在做一些根本错误的事情。请帮忙!

4

1 回答 1

0

您正在将客户端脚本与服务器端代码混合。

<% %> 中的 ruby​​ 代码在代码发送到客户端之前正在执行。它周围的javascript在客户端执行。

所以实际上你正在发送这个 JavaScript 代码来执行到浏览器:

$("#customer_submit").click(function(){
  if ($("#default_check").is(':checked')){
  }
});

是的,你这样做从根本上是错误的:)

您真正想要做的是将 AJAX 调用或某种其他形式的消息发送回服务器以将模型更改保留在那里。

于 2012-05-23T13:43:53.520 回答