2

Ruby on Rails の世界では初心者です。ストアのような Web アプリケーションの構築を開始する前に、解決しなければならない問題がいくつかあります。「Agile Web Development with Rails」という本に書かれている手順に従っているので、sqlite も使用することにしました...

...しかし、私はすでに ER 図を使用してシナリオを表していますが、それを軌道に乗せる方法がわかりません。

この本の最初の章では、scaffold コマンドを使用してテーブル "Product" を作成しています。しかし、このコマンドは、表現したいすべてのテーブルのモデル、ビュー、コントローラー、およびテストを作成します。

それは正しい進め方ですか?または、必要な mvc の作成を開始する前に、すべてのテーブルを構築する方法はありますか?

4

3 に答える 3

3

Ruby On Rails のガイドをお試しください。

http://guides.rubyonrails.org/getting_started.html

(私の意見では)一般的に、アジャイルの本よりも理解しやすいです。

テーブルを作成する最も簡単な方法は、Rails マイグレーションを使用することです。

関連するモデル、ビュー、およびコントローラーを使用して移行を作成する最も簡単な方法は次のとおりです。

rails generate scaffold Product

そのコマンドは、それが何をしているかを出力します。それらのファイルを見てください。

多くのテーブルがある場合、はい、典型的な方法は、多くの足場を生成することです。次に例を示します。

rails generate scaffold User
rails generate scaffold Product
rails generate scaffold Company
rails generate scaffold Invoice
...

あなたのコメントでは、type_of_product テーブルについて尋ねます。このようなテーブルの場合、足場をスキップして (たとえば、コントローラーが必要ないため)、代わりに移行を生成しても問題ありません。

rails generate migration TypeOfProduct

Rails は「型」という言葉を使って奇妙なことをすることに注意してください。そのような表を作成したとき、メインの単語から始めて、次のように「種類」という単語を使用する方が簡単であることがわかりました。

rails generate migration ProductKind
于 2012-04-04T10:07:51.140 に答える
2

スキャフォールディングは、ユーザー、投稿、記事などのリソースを操作するための優れた出発点となります。モデル、ビュー、およびコントローラーが生成されるので、ニーズに合わせて変更することに集中できます。

エンティティ関係図は、システムを構築するための優れたロードマップを提供します。一度に 20 個のテーブルをアプリに大量に投入することを心配する必要はありません。代わりに、(スキャフォールディングまたはモデルと移行用の他の Rails ジェネレーターを使用して) 何度もそれらを構築し、それらが正しくなるまで作業してから、他のテーブルと関係を一度に 1 つずつ構築する必要があります。

少人数で作業すれば、信じられないほど生産的になります。大規模な作業を行うと、1 つの大規模な操作でどこで問題が発生したかを突き止めるために、多くの無駄な時間を費やすことになります。

于 2012-04-04T14:14:01.760 に答える
2

短い答え:はい、これが正しい方法です。

より長い答え: 通常、モデルを設計してから次のモデルを設計したいので、通常はこれが正しい方法です。モデルなしでテーブルを作成する場合、テーブルの純粋な存在には価値がありません。

モデルなしでテーブルのみを作成する場合は、移行を作成できます。を使用するだけ./script/rails generate migration CreateSomeTableです。

いずれにせよ、今は必要のない作成済みファイルは無視してかまいません。それらをそのままにしておき、必要に応じてすべてのテーブル (移行) に集中します。

于 2012-04-04T10:11:25.073 に答える