スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

link_to_remoteのPOST時パラメータを追加する

<% form_for :stat, :url => {:action => ''}, :html => {:name => :fmStat} do |f| %>
<% end %>

通常はこんな感じ

link_to_remote(
"リンク文字列",
:update => "result", ← 更新対象(<div id="result"></div>)
:submit => :fmStat, ← fmStatは上のform_forの:html => {:name => :fmStat}に対応。
:url => {:action => :ajax_result} ← 呼び出すアクション
)

で、変数valの値をパラメータkindとして追加したい場合

link_to_remote(
"リンク文字列",
:update => "result", ← 更新対象(view上の<div id="result"></div>)
:with => "Form.serialize('fmStat') + '&stat[kind]=#{val}'", ← fmStatは上のform_forの:html => {:name => :fmStat}に対応。stat[kind]のstatは<% form_for :stat …に対応。
:url => {:action => :ajax_result} ← 呼び出すアクション
)

こうするとcontrollerで

model = Model.new(params[:stat]

とかして受け取ったときに、

model.kind

に値が入る(※Modelのプロパティが対応していれば)。

visual_effectなど加えたいときは

link_to_remote(
"リンク文字列",
:update => "result", ← 更新対象(view上の<div id="result"></div>)
:with => "Form.serialize('fmStat') + '&stat[kind]=#{val}'", ← fmStatは上のform_forの:html => {:name => :fmStat}に対応。stat[kind]のstatは<% form_for :stat …に対応。
:url => {:action => :ajax_result}, ← 呼び出すアクション
:loaded => visual_effect(:highlight, "result", :startcolor => "#888888", :duration => 0.5)
)

この記事のトラックバックURL

http://ysmt.blog21.fc2.com/tb.php/315-6d4aca2b

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。