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)

