在jquery条件下修改Rails模型元素

时间:2012-05-23 13:42:16

标签: jquery ruby-on-rails

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

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

});

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

1 个答案:

答案 0 :(得分:0)

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

&lt; %%&gt;内的ruby代码在将代码发送到客户端之前执行。 并且它周围的javascript在客户端执行。

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

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

是的,你从根本上做错了:)

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