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