2011-09-16 9 views
1

私はここにレールに非常に新しいですが行く:私はそのための基本を作る方法を知っているRails 3:ページリダイレクトなしでアクションを実行するボタンを作成しますか?

<%= form_tag "Class/Action"> 
# and  
<% submit_tag "Button name"> 

で別のページに結果を送信しますが、私が欲しいのは実行いくつかのボタンですアクション(およびユーザーがいるページは変更または更新されません)。

また、あなたがより良い選択肢を持っているならば、私がやっていることはまさにここにあります。ユーザーは選択肢を提示され、選択するとJuggernautを介して他のクライアントに選択肢をプッシュします。 JuggernautはRuguesを使ってJuggernaut.publish(channel、message)コマンドで使用されているので、このコマンドを実行するアクションを呼び出したり、ページを更新したり変更したりせずに呼び出す必要があります。

答えて

4

:remote => trueフォームを使用し、Ajax経由でアクションを実行してください。また、データ、HTML、またはJavaScriptを返す簡単な機会を提供し、ユーザーに何が起こったかを知らせることができます。

+0

お返事ありがとうございます。フォームボタンとは対照的に、ハイパーリンクでも同じ効果を得る方法はありますか? – Derek

+0

同じ ':remote'オプション;ここで私は一部の同僚のために書いた[プロパティを切り替える例](http://buckybits.blogspot.com/2011/09/simple-ajax-property-toggle-in-rails-30.html)です。 –

0

form_tagで:remote => trueを定義するだけで済みます。ここに例があります...

<%= form_for(@folder, :remote => true) do |field| %> 
    <%= field.label :Name %> 
    <%= field.text_field :Name, :placeholder => "New Folder" %> 
    <%= field.submit "Create", :disable_with => "Saving..." %> 
<% end %> 
関連する問題