1

私はRubyonRailsを初めて使用し、単純なブログの例を超えてその使用法を理解しようとしています。

  1. Railsを使用すると、フォームを簡単に操作したり、データベースへのオブジェクトを受信/永続化したりできるようです。これは「twitter」または「blog」タイプのアプリケーションで取得しますが、実際のタイプの例についてはどうでしょうか。サインイン/サインアップ(w / DeviseおよびOmniAuth)。

    a。「ホーム」コントローラーが必要ですか?
    b。さらに言えば、サイト上のすべてのタイプのWebページに対応するコントローラーが必要ですか(ページが100%静的ではないと仮定すると、その場合は/ publicにあります)?

  2. ログイン後、ユーザーがグラフ、データテーブル、およびマップを使用する機能豊富なページに移動した場合はどうなりますか?たぶん、これら3つのものには、3つの異なるモデルからのデータが必要です。これはどのように行われますか?この場合、クライアント側のロジック(Kendo UIやJqueryなど)がたくさんあると思います。では、railsアプリは基本的にjson APIになると思いますか?ページにクライアント側のウィズバンがたくさんある場合...レールは正しいバックエンドですか?

愚かな質問をしてすみません..私はレールメンターがいません。

4

4 に答える 4

1

私は、フォームベースの管理領域と一般ユーザーのフロントエンド用のシングルページアプリケーションを備えたRailsシングルページWebアプリケーションで作業してきました。

シングルページアプリケーションの場合、Railsはデータを提供するためのRESTful API(JSON)を提供します。ここで、プレゼンテーションロジックはJavascriptを使用して実装され、Backbone.jsを使用してMVCパターンに近い形で編成されます。

あなたの質問のために1)

a)Deviseを使用した認証では、ログイン要求を解釈するためのコントローラーが必要になる場合がありますが、後続の要求では、基本的なルートとコントローラーのマッピングを決定できます。

b)いいえ!サイトのWebページごとに個別のコントローラーは必要ありません。同じコントローラーを使用して、リクエストメソッドとパラメーターに基づいて異なるビューをレンダリングできます。

2)異なるモデルの各グラフ、データテーブル、およびマップのデータをフェッチする場合、1つの方法は、各モデルからデータをクエリし、各UI要素に適切な方法で準備するコントローラーを実装することです。そのための最も簡単な方法は、ビューをJSONでレンダリングして、UIコンポーネントのデータを簡単にバインドできるようにすることです。

JSONを柔軟な方法でレンダリングしたい場合は、https://github.com/nesquena/rablが適切なオプションです。

現在、私はRailsを使用したプロジェクト(ほぼ2年前)で作業していますが、RESTfulJSONAPIは大きな問題なく進化しています。

于 2012-11-16T03:25:35.063 に答える
1

ページにクライアント側の奇抜な要素がたくさん含まれる場合、Rails は適切なバックエンドですか?

Rails は、クライアントを多用するコードを使用するアプリのバックエンドとして最適です。ある時点で、(おそらく) 基本的なユーザー管理と認証を行う必要があり、Rails 自体が「間違っている」ことのないように、ある種の永続的なデータを取得および送信する必要があります。Rubyを使用する場合はSinatraなどのより軽量なフレームワークが適していると主張する人もいるかもしれません。 RESTful API + いくつかのランディング ページですが、Rails はこれも問題なく実行でき、必要に応じて成長できる他の多くの機能を備えています。

于 2012-11-16T03:33:22.600 に答える
1
  1. a) 「ホーム」コントローラーは必要ありません。ただし、「ルート」パスをランディング ページ/ダッシュボードとして処理するコントローラーが必要であり、「ホーム」コントローラーがこれを適切に処理します。

    b) すべての概念カテゴリまたはリソース (REST など) を処理するためのコントローラーが必要ですが、すべてのページに対して単一のコントローラーが必要であるとは限りません。たとえば、すべての「ヘルプ」ページを 1 つのコントローラーで処理できます。

  2. グラフの基礎となるデータは、最初のページと一緒に、またはより一般的にはコントローラー アクションから ajax を介して構築できます。コントローラー アクションは、適切なデータを収集して返す役割を果たします。次に、クライアント側の API (たとえば、Google チャート) を使用してビジュアル グラフを作成するか、サーバー側でヘルパー モジュールを使用して作成し、グラフを表すために必要な画像または HTML/JS/CSS を返すことができます。

ページにクライアント側の奇抜な要素がたくさん含まれる場合、Rails は適切なバックエンドですか?

この質問は、SOで問題を引き起こす可能性があります:)

ただし、クライアント側の「whiz-bang」ライブラリをカプセル化するための他のフレームワークと同じくらい優れているという議論をすることができます。

于 2012-11-16T03:22:09.837 に答える
0

上記の素晴らしい答えに感謝します。

私は実際に私の質問に答える素晴らしい仕事をするビデオに出くわしました。一緒に来て興味があるかもしれない人のためにここに投稿します:

http://ontwik.com/ruby/building-rails-apps-for-the-rich-client/

于 2012-11-16T04:38:39.787 に答える