6

環境

フィクスチャ ファイルを生成すると、次のrails generate model Post title:string text:textように表示されます。

one:
  title: MyString
  text: MyText

two:
  title: MyString
  text: MyText

質問

なぜ2つあるのか、なぜ「1」と「2」という名前なのか疑問に思っていました。

ここでは、「google」、「rubyonrails」、「parent/child」などの名前が使用されていることがわかります。一方、投稿モデルを生成するためのチュートリアルに従うと、1 つと 2 つしか生成されません...

さらに調査したところ、db/migrate ファイルにも興味があることがわかりました。私の現在の理論では、これらのファイルがデータの構造を作成するというものです...したがって、フィクスチャが何をするのかよくわかりません。

理由

を使用して「学生」モデルを作成しようとしています

rails generate scaffold student

しかし、キーの 1 つとして :name を持っていないようです。データ列を追加するフィクスチャを検討しています。

4

3 に答える 3

1

これを試して:

最後の質問については、a) コマンド ラインに次のように入力して古いスキャフォールドを削除することで、問題をすばやく解決できます。

rails d scaffold Student

b) Creating it again but this time with the keys you want:

rails g scaffold Student name:string
于 2013-10-21T19:27:27.073 に答える
1

まず、コマンドによって生成されたコードrails generateは、アプリケーションの一部の開始点となることを目的としており、すぐに作業を開始できるようにすることを目的としています。

つまり、フィクスチャは単体テストでの使用を目的としています。これらは、システムに既に存在する一連のオブジェクトを生成する方法を提供するため、テストの開始時に手動で作成する必要はありません。

この場合、oneandtwoは単なるプレースホルダーです。実際のアプリでは、テストでより意味のある名前に置き換えます。

アプリにデータの列を追加しようとしている場合、フィクスチャはおそらく適切なアプローチではありません。それらは実際にはテストで使用するためのものであり、それ以上のものではありません。

于 2013-08-19T00:00:47.837 に答える