0

Railsでいくつかのアプリを開発したので、APIを開発する必要がありました。シナトラで作るようにとのアドバイスを受けたので、調べ始めました。

とてもいい感じでしたが、Railsで自動化されたものの多くはSinatraには存在しないようです。具体的には、リソースを最初から作成する必要があるようです。例えば。モデル自体、移行、およびRESTルート。

Railsが提供するようなSinatra用のジェネレーターがあるかどうか疑問に思いましたか?または、このようなことを自動化したい場合は、単にRailsを使用する必要がありますか?

4

4 に答える 4

1

私は個人的にSinatraを使用していませんが、他のRails開発者から得た多くのフィードバックは、最終的にRailsに戻ってしまうというものです。Sinatra over Railsを使用することには良い議論があると思いますが、Railsをすでに知っていて、速度やアプリケーションサイズの制約がない場合は、それを使い続けます。

Sinatraのもう1つの代替手段は、Railsフレームワークのビュー関連部分を含まないRailsAPIプロジェクトです。私は過去にそれを使用して気に入っていましたが、Railsを使用するよりも良かったですか?言うのが難しい。

于 2013-02-10T13:28:32.757 に答える
1

シナトラが必要な場合は、パドリーノをチェックする必要があります。

Padrinoは、SinatraWebライブラリに基づいて構築されたrubyフレームワークです。Sinatraは、Rubyで簡単なWebアプリケーションを作成するためのDSLです。Padrinoは、Sinatraを素晴らしいものにする精神を守りながら、より高度なWebアプリケーションを楽しく簡単にコーディングできるようにするために作成されました。

または、Beerlingtonが述べたように、Railsに慣れている場合は、RailsAPIを使用できます。最近使用しており、成功を収めています。mongoバックエンドを使用してSimpleAPIを作成しました。非常に迅速に起動します:)

于 2013-02-10T15:47:23.910 に答える
1

RESTfulルートの処理に使用できるsinatra-restgemを確認してください。便宜上、以下に引用します。


[sinatra-restは]SinatraにRESTfulルートを導入するためのテンプレートのセットです。あなたがする唯一のことは、ビューを提供することです。ActiveRecord、DataMapper、またはStoneに基づくモデルに対して自動的にうまく機能します。

たとえば、モデルのクラスの名前がPersonの場合、次の行を追加するだけで済みます。

rest Person

これにより、次のRESTfulルートがアプリケーションに追加されます。(ルートPersonへの複数形に注意してください。)/people/*

Verb    Route            Controller   View
GET     /people          index        /people/index.haml
GET     /people/new      new          /people/new.haml
POST    /people          create       → redirect to show
GET     /people/1        show         /people/show.haml
GET     /people/1/edit   edit         /people/edit.haml
PUT     /people/1        update       → redirect to show
DELETE  /people/1        destroy      → redirect to index
于 2013-02-11T01:27:13.163 に答える
0

または、このようなことを自動化したい場合は、単にRailsを使用する必要がありますか?

Railsに慣れていて、Rubyの使用が問題になる場合は、多分。または、Sinatraを使用するこのAPIジェネレーターを試すこともできます。

https://github.com/mattetti/Weasel-Diesel

于 2013-02-11T01:15:49.563 に答える