之前沒學過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.有目的的練習是專注的 要想...