2012年10月15日月曜日
2012年10月4日木曜日
逃亡編
(例によって絵と本文は関係ありません)
前編: herokuでform_tagの:remote => trueが動かない の続き
結論から行くと、なんとかなりました。
端的に言うと
はい。逃げました。
そ、Solutionが多数用意されているというのもRailsの柔軟性の高さですね。
とかなんとか。
具体的には
view/layoutで参照されているlayout(一般的にはapplication.html.erb)に下記を定義
<% form_tag ... %>~<% end %>中に
で、あとは、form_tagのactionから上記のdoPostを呼ぶようにすればOK
結論から行くと、なんとかなりました。
端的に言うと
:remoteの代りにformのactionでjQueryを使用してajaxを実行
です。はい。逃げました。
そ、Solutionが多数用意されているというのもRailsの柔軟性の高さですね。
とかなんとか。
具体的には
view/layoutで参照されているlayout(一般的にはapplication.html.erb)に下記を定義
var doPost = function (url) { $.ajax({ url: url, type: "post", data: "comment="+$("#comment").val(), dataType: "script"}); };$("#comment")はjQueryによるSelectorです。
<% form_tag ... %>~<% end %>中に
<%= text_field_tag :comment %>があれば、id="class"で上記のSelectorは正しく動く、はず。
で、あとは、form_tagのactionから上記のdoPostを呼ぶようにすればOK
<%= form_tag ("javascript: doPost(\"/sessions/\"") do %>本当は、:remoteと完全に同じ挙動にするためには以下にしたかった
<%= form_tag ('#', :onsubmit => "doPost(\"/sessions/\"); return false;") do %>でもやっぱり、form_tagが第二引数を取ってくれないので相変わらずエラーになるので逃げた。
逃げるが勝ち
登録:
投稿 (Atom)