4

HTTP API のみを実行する Rails アプリがあります。クライアント側では、現在 Ember.js が使用されています。私たちは Ember にあまり感銘を受けておらず、Meteor.js のアプローチがとても気に入っています。したがって、クライアント側を Meteor.js と交換し、Data Distribution Protocol (DDP) を使用する websocket を介して Rails サーバーと通信することで、Rails のモデル、メーラー、およびコントローラーを引き続き使用できるようにします。DDP のサーバー側の実装は簡単なはずです。

ただし、Rails で websocket を使用する方法は不明です。スタンドアロン環境で websocket リクエストを簡単に受け入れることができる Reel を見つけました。とにかくセルロイドスタックの上にDDPを実装したいので、リールは素晴らしいようです。しかし、Rails 環境で Reel を実行する場合はどうでしょうか? そのために「レールランナー」が必要ですか?そして、既存のコントローラーを引き続き使用して、着信要求をディスパッチしたいと考えています (リソースの追加/変更/削除など)。リクエストがRackを経由しなくても、それは可能ですか?

どんな入力でも大歓迎です。

4

2 に答える 2

2

古い「レガシー」Railsコードを統合するために、私もやりたいと思っていたことです。これが私が見つけた最良の方法です:

Rails ルーター/コントローラー/ビューは使用せず、データを読み取ってクライアントにプッシュする機能のみを使用するため、Rails を使用して JSON API をデータベースに作成し、コードをデプロイしてから Meteor にデプロイすることをお勧めします。 http パッケージを介してデータを消費できます。これはサーバーで定期的に発生し、必要な正規化されたデータを MongoDB に入力してから、ブラウザ クライアントにサービスを提供します。

私は、正規化されたバージョンのデータを Mongo に保持し、リレーショナル バージョンのデータを (Rails を介して) mySql に保持するようなアプリケーションに取り組んでいます。このようにして、JS で書き換えたくないレガシー Rails 機能を保持できますそして、私が最も必要としている 1 つのページで Meteor のメリットを得ることができます。

于 2014-05-14T00:15:45.960 に答える