2012-02-14 8 views
0

私はこれをやってみました:link_to_remote:javascript変数がfalseの場合、アクションを中止するにはどうすればよいですか?

<%= link_to_remote '', {:url => { :action=> :edit_content, 
     :id=>content.id, 
     :controller=>@contents_controller}, 
     :before=>"false;", 
     :complete => "click_content_after();"}, 
    :class=>'edit' %> 

が、リンクがまだ実行...ブロックは、リンクの動作に影響を与えない前に。

があります:確認オプションがありますが、私はいつもダイアログになりたくありません。私はページの状態を見るjs変数を持っています。

答えて

1

JavaScriptコードスニペット:condition(省略可能)で、:beforeではなく、ブラウザ側のコールロジックをカスタマイズすることができます。 link_to_remote API documentationを読んでください。

私はそれを私の古いRails 2.3.2アプリケーションでテストしましたが、これは期待どおりに動作します。 :condition => "true"リモートへの呼び出しが実行され、:condition => "false"の場合は実行されません。

<%= link_to_remote "Temp", :update => "temp_update", :url => { :action => "temp" }, 
    :condition => "false", :complete => "alert('complete!');" %> 
0

link_to_remote:completefalseの場合にのみ中止されます。

1

リモートコールを行う前に評価されるパラメータ(たとえば、:condition=>"return false;")を追加して、falseを返すとリモート呼び出しを防ぐことができます。

関連する問題