推 hellolucky:還沒認真看過 但<%render 'ida',:c_toy => @c_toy %> 12/15 23:56
→ hellolucky:是不是少了個等於? 12/15 23:56
抱歉...看著另一個螢幕用手打竟然漏打了...以修正,謝謝!
→ lTERRAl:$('ida') 你是要? 12/16 00:53
→ Vinn:$('.ida')replaceWith應該是用來換掉舊的資料以呈現變化 12/16 08:40
→ Vinn:阿...影片上是這樣要教...該不會我有理解錯誤吧? 12/16 08:49
推 johnlinvc:應該是$('.ida').replaceWith('foo') ? 12/16 11:46
謝謝指正,但修改後仍是無法動作..
以下是我點選之後 terminal出現的訊息
Started GET "/toys/45" for 127.0.0.1 at 2013-12-16 12:52:05 +0800
Processing by ToysController#show as JS
Parameters: {"id"=>"45"}
Toy Load (0.6ms) SELECT "toys".*
FROM "toys" WHERE "toys"."id" = $1 LIMIT 1 [["id", "45"]]
Rendered toys/show.html.erb within layouts/application (0.5ms)
Completed 200 OK in 18ms (Views: 15.7ms | ActiveRecord: 0.6ms)
parameters 有取得到id,但無法更改ˊˋ
推 johnlinvc:把你的index.js.erb 改名成 show.js.erb 12/16 13:04
→ johnlinvc:toys_controler 裡的 show 也 respond to js 12/16 13:05
→ johnlinvc:因為你的route 和那個教學的不一樣 12/16 13:05
感謝,但是他卻跑出很神秘的找不到"id"
Started GET "/toys/45" for 127.0.0.1 at 2013-12-16 14:26:01 +0800
Processing by ToysController#show as JS
Parameters: {"id"=>"45"}
Toy Load (0.6ms) SELECT "toys".* FROM "toys"
WHERE "toys"."id" = $1 LIMIT 1 [["id", "45"]]
Rendered toys/_ida.html.erb (1.4ms)
Rendered toys/show.js.erb (3.7ms)
Completed 500 Internal Server Error in 11ms
ActionView::Template::Error (undefined method `id' for nil:NilClass):
1: <div class="ida">
2: <%= @c_toy.id %>
3: <%= @c_toy.name %>
3: </div>
app/views/revos/_ida.html.erb:2:
in `_app_views_toys__ida_html_erb__1527320142082688770_70320262549140'
app/views/revos/show.js.erb:2:
in `_app_views_toys_show_js_erb__3810931547537904217_70320251433280'
app/controllers/toys_controller.rb:29:in `show'
改程式改到頭有點暈...感謝板上高手...初學者真的有點糟,沒想到Ajax這麼難實現
推 johnlinvc:應該是你show method 裡的 toy 不是 @c_toy 12/16 15:40
→ johnlinvc:下次可以考慮直接丟github 再上來問 12/16 15:41
馬上來,https://github.com/viflin/tezarail
進入 http://localhost:3000/toys 就有三個toy,和最下面有問題的顯示地方
應該要點選列表上的“Obama” 然後下面一開始預設的Boozer就會變成Obama...
感謝......
推 hellolucky:照錯誤訊息 你request的是 ToysController#show 12/16 17:13
→ hellolucky:不過ToysController#show 只有@toy 沒有@c_toy 12/16 17:13
→ hellolucky:所以view找不到@c_toy 12/16 17:14
→ hellolucky:我覺得不是Ajax難實現,而是要先學會抽絲剝繭的debug 12/16 17:15
→ hellolucky:釐清問題點所在,慢慢的你會發現其實一切都有條理 12/16 17:15
推 johnlinvc:一開始就學rails remote ajax 本來就比較有難度 12/16 17:26
→ johnlinvc:可以先去搞懂底下的jquery 在做什麼, 還有partial的用法 12/16 17:27
→ johnlinvc:我發merge request 給你了:p 12/16 17:27
謝謝!已經merge了! 感謝解惑! 困擾了我好久==
初學者真的太多東西不懂...rails真的頗困難(對於只寫過簡單html的我來說...)
而且不像IDE之類的會告訴你哪裡錯了...
慢慢在研究到底他背後怎麼傳遞的...不知道用$ajax的那種寫法是怎麼處理XD
謝謝johnlinvc ,hellolucky 跟|TERRA|板友,感謝你們
※ 編輯: Vinn 來自: 61.230.45.210 (12/16 19:37)