0
正在寻找一种方法来实现从jquery中对rails方法的调用,但不需要渲染任何东西,只需在后台。从jquery调用的rails函数
这个想法是,我有一个选择标记与多选启用,我的模型有一个布尔字段称为积极,当一个元素被选中,积极将被设置为true,否则为false。
在我的application.js我有这样的:
$(".multiselect").change(function() {
$("option", this).each(function() {
if(this.selected) {
// do true for checked
} else {
// do false for unchecked
}
}
});
此功能工作正常,但我被困在两个部分,我知道我可以从(本)获取对象的ID .VAL (),但我应该在哪里可以找到它并更改活动字段的函数?在控制器或模型中?介意我不需要渲染任何东西,只是在后台做事。
其次,我如何从我的jquery中调用这个函数?
任何帮助,非常感谢!
非常感谢。这不在表格内(至少现在不行)。所以如果我有一个更新方法,我应该把这样的东西:def update @foo = Foo.find(params [:id])@ foo.active = true/false结束?但我怎么会不使用窗体从js调用这个函数?我可以说$ .post({#update}(this.val())?或类似的东西传递ID? – Lievcin 2011-05-23 08:45:35
你可以通过GET请求来做到这一点,但有没有一个特定的原因,你为什么不想要在表单中包装选择列表?一个很好的约定是当你改变一个资源的时候总是做一个POST请求 – 2011-05-23 10:11:58
另外,我忘了添加,在没有提交表单的情况下,你必须做一个jQuery .get() 类似这样 - $ .get(“/ some_URL”,{foo_active:$(this).val()},null,“script”); – 2011-05-23 10:14:53