ROR讀書筆記 Ajax 練習

2021-06-05 14:39:07 字數 1259 閱讀 3985

之前沒學過js,被js弄的頭大,rjs還算是挺簡明的。

p100第二個練習,使用blind_up隱藏購物車。

要實現ajax,首先需要改變button_to方法為form_remote_tag方法

form_..._tag表示會生成html **,remote則說明會發起遠端呼叫,書上是這樣說的

再是form_remote_tag的引數,乙個hash對:url => {},指明呼叫的action和action使用的引數。

然後用乙個block包含要顯示的標籤,submit_tag會顯示為input 標籤,image_submit_tag則會以來代替

_cart.html.erb 修改button_to方法為

<% form_remote_tag :url =>  do %>

<%= submit_tag 'empty cart' %>

<% end %>

照葫蘆畫瓢修改store_controller.rb中的empty_cart方法

def empty_cart

session[:cart] = nil

respond_to do |format|

format.js if request.xhr?

format.html

endend

最後別忘記寫乙個rjs檔案。在view/store下

empty_cart.js.rjs

page[:cart].visual_effect :blind_up

很簡單的一句話。。

我不知道為什麼不用像add_to_cart.js.rjs 中一樣加上第一句

page.replace_html("cart", :partial => "cart", :object => @cart)

書上說這句會「找到當前頁面上id為cart的元素,然後將其中的內容替換成...某些東西」

關於

page.replace_html
的解釋:第乙個引數用來表示所要替換的標籤,後面兩個hash則分別表示區域性模板和模板的引數,實際上後面兩個就像乙個render()。

不懂js,但是試了試好像光有

page.replace_html
不會更新view,雖然資料已經變化了,需要visual_effect來顯示。。

《刻意練習》讀書筆記

高人的兩項本事 洞察問題,解決問題。長時的工作記憶,區分卓越和普通,是刻意練習的本質。在 用就在 學,形成刻意學習的意境。舊學習模式 1 一般性了解 網路書籍 2 練習達到我們自己接受水平 中等 然後無法再進步,能力會逐步衰退 有目的練習 1 定義明確目標,積小勝為大勝 2 專注 3 包含反饋 4 ...

《刻意練習》讀書筆記

在學習區學習 放慢練習 分解練習 對訓練效果及時反饋 遇到無法突破尋求新方法 大量的練習 再薄弱區的大量練習 1萬小時理論 怎麼堅持 興趣 內在動機 激勵 對大腦的幾點認知 1.大腦的腦神經元在成年後不會再發育,但是大腦的神經區域可以被重新使用 盲人的視覺大腦區域被聽覺和觸覺佔據 2.大腦的長期記憶...

《刻意練習》讀書筆記

有目的的練習四個特點 1.具有定義明確的特定目標 拿練琴來說,連續三次,不犯任何錯誤,以適當的速度彈奏完曲子,遠遠比漫無目的練乙個小時要成功的多。如果沒有這樣的目標,就沒有辦法判斷練習是不是成功了。然後難度要逐漸提公升,有目的練習,主要是 積小勝為大勝 積跬步以至千里 2.有目的的練習是專注的 要想...