忍者ブログ
Since 14.Jan.2009:08:29 プログラミングと絵のブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


今日はたくさん勉強した。

Ajax周りとプラグインを中心に。

まずAjaxの準備は
使用したいcontrollerのlayoutの
<% stylesheet_link_tag 'scaffold' %>の下に

<% javascript_include_tag :defaults %>

と記述。
これでprototype.jsその他全部で5つのライブラリが読み込まれる

Ajaxの基本はリンクを作るlink_to_remoteと
フォームを作るremote_form_for
引数はほとんど同じ。

link_to_remoteの第一引数はaタグ内の文字列
remote_form_forの第一引数は関連付けるオブジェクト。

第二引数は
:update => が結果を出力するID

:url => がリクエストを送るURLで、
:url => {:action => create}みたいにハッシュで渡したり、
:url => categoryみたいにインスタンス渡してIDで移動したり

あとは全部javascriptのコードを渡して、
:success => ""とか
:failure => ""とか

第三引数はlink_to_remoteならaタグの属性、
remote_form_forはブロック

link_to_remoteはhrefの初期値が#になってるから、
第三引数に{:href => url_for("URLと同じ")}あたりを書いておくと
javascript切ってる人にも見れます

とりあえずAjaxで画面遷移なしでcreateしたいなら

<% remote_form_for @todo, :update => 'todos',
  :url => {:action => 'create'},
  :success => "reset()" do |f| %>

  <%= f.error_messages %>

  <%= f.text_field :body %>
  <%= f.submit 'Create'  %>

<% end %>

かなあとは配置するactionに
@todo = Todo.new
を追加。
細かいところはまた今度やろうかな
PR

Comment
Name
Title
Mail
URL
Comment
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
[45] [44] [43] [42] [41] [40] [39] [38] [37] [36] [35
«  Back :   HOME   : Next  »
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
ブログ内検索
プロフィール
HN:
uguisu_an
年齢:
34
性別:
男性
誕生日:
1989/08/20
自己紹介:
基本的にテキトー
最新コメント
[10/01 くゆる]
[09/21 uguisu_an]
[09/17 mayigo]
[07/17 uguisu_an]
[07/15 shinh]
最新トラックバック
アクセス解析
フリーエリア
P R
忍者ブログ [PR]