2009-03-12 5 views
2

私は、ユーザーがページとやり取りするときにdivsを作成して非表示にするために、javascriptの魔法をやっています。各divには、アプリケーションの一部のビューが含まれ、これらのビューの各モデルインスタンスには所有者があります。ページを閲覧しているユーザーが所有者でない場合、そのユーザーはデータを参照するだけです。ただし、ユーザーがデータの所有者である場合は、編集ビューが表示されます。レールフォームを提出すると、現在のビューからナビゲートすることはできませんか?

すべてのdivの状態を隠して、ユーザーが変更を送信したときとまったく同じようにページを再レンダリングすることは可能かもしれませんが、私はちょうど簡単かつ簡単にトランザクションの行に沿って何か:ユーザーが送信ボタンを押して、サーバーのプロセスが変更され、確認画面にマイナーチェンジを送信すると、トランザクションの完了の通知が点滅します。

誰かが実際の例へのポインタを持っていますか?実装のしきい値は、私がここで求めていることをするのが簡単か、または弾丸を噛むだけで、トランザクションを通じてdiv状態を運ぶのが簡単かどうかになります。

答えて

0

あなたに必要なすべてのサウンドは、いくつかのAjaxの魔法です。 remote_form_forまたはその他のPrototype Helpersのいずれかを見てください。

3

フロイントに記載されているように、remote_form_forが道のりです。 RJSのダッシュであなたが離れて走っているカップル:

# Form 
- remote_form_for(@obj, :url => obj_path(@obj)) do |f| 

    = f.text_field :some_attribute 
    = f.submit "Submit" 


# Controller action 

def edit 
    respond_to do |wants| 
    wants.html { } 
    wants.js { 
     render :update do |page| 
     page.replace_html :some_div, "Some content" 
     end 
    } 
    end 
end 
関連する問題