Rails3

2012-02-10 8 views
1

とベースURL上の複数のAJAX「#url_tokenに」(ダッシュボードと思う)Rails3

私はリストを取得左側ストリップをしたいですアプリケーションのほとんどをレンダリングする左側のメインアプリケーション領域(jQueryのすべて)

現在、私は単一のコントローラダッシュボードを持っています。私はJsonと答えることができるように、左側のバーの要求が適切な方法に達するようにしたい。メインエリアも同様です。

アプリケーションが複雑になるにつれて、#specific URLが付加されたURLもまた必要なものになります。 例 - > 'gamail.com#inbox'、 'gmail.com#drafts'

この場合、ルートはどのように機能しますか?私はRailsの公式ドキュメントを読んで、かなり多くを検索しましたが、多くの情報を見つけることができませんでした。

+0

主なアクションといくつかの異なるアクションがあります。特定のパラメータを特定し、params属性に応じてこのアクションを呼び出すことができます.Jsonを要件に従ってレンダリングすることができます。あなたの要件に応じてjsonや他のものを返す。 – Amar

+0

ポインタや例を教えていただけますか?またはgithubのプロジェクトコードですか? –

答えて

1

私はjQuery Back Button & Queryライブラリを使用しています。これにより、ハッシュURLを作成し、URLの変更に対応することができます。そのハッシュパートで何をするかは、あなたに依存します。

examplesをご覧ください。

たとえば、サイドバーに書籍やワインなどのリストがあるとします。たとえば、http://yourwebsite.com#your-bookと言ったようなURLを作成し、次にjavacriptコード内で正しいレールURLに翻訳する必要があります。たとえば、http://yourwebsite.com/books/your-bookと表示したいページの部分にJS/JSONを表示します。

したがって、rails-appのルートは完全にリンクされていないので、url-partを正しいurlに変換する必要があります。

Backbone.jsまたはspine.jsはクライアント側でルーティングを提供していますが、私の経験上、私は本当に単純なケースでしか動作しませんでした(しかし、これは私の限られた知識である可能性があります.) 。

これが役に立ちます。

+0

「URL部分を正しいURLに変換する」方法 –

+0

それはあなたがそれを作りたいと思っているほど簡単に複雑になることがあります。あなたが '$(window).bind( 'hashchange')でhttp://benalman.com/code/projects/jquery-bbq/examples/fragment-basic/ - >をチェックしているならば、関数(e){' 'var url_part = $ .param.fragment();'のようにurl-fragmentを取得できます。そのurl_partの内容に基づいて、そのフラグメントをurlに翻訳して、あなたのレールサーバから取得できます。例えば。前述の例では、 'var real_url = 'http://yourwebsite.com/books/' + url_part;'のようなことをします。お役に立てれば。 – nathanvda

0

いくつかのJavascriptのMVCフレームワークとレールとの統合を見てみましょう:あなたはそれらなしでこれを実現することができますが

https://github.com/codebrew/backbone-rails

https://github.com/maccman/spine-rails

を、私はあなたが見てみるならば、それは容易になるだろうと信じてあなたの人生を楽にするこれらのツール。

+0

私はJavaScript入門者であり、クライアント側のスクリプト作成のためにjqueryを採用しています。アプリは非常に複雑である必要はなく、基本的なAjaxアプリです。 –