0

接着剤..

前学期、私はプログラミングのクラスでRubyを教えられました。いくつかはEntity Relationship Diagramsで、いくつかはDataflowでした。最近Ruby on Railsにハマっていて、これまで培ってきた初心者の知識を活かして、シンプルな発想でサイトを作りたいと思っています。しかし、 Ruby on Railsと前学期の知識との間の接着剤を見つけることができないようです。私が立ち往生し、混乱し続ける特定の特定の領域があります。

エンティティをダイアグラムから Rails の考え方に変換するにはどうすればよいですか? 命名規則や翻訳は何ですか - エンティティはControllerですか? それともモデル

私が次の願いを持っていると想像してみましょう:

Web アプリは、サイトのユーザーから盗まれた車を表示するオンライン リストです。ユーザー(エンティティ?) は、ユーザー情報 (属性?) を登録し、一意の ID と登録を使用して CarPost(エンティティ?) を作成するフォームに入力できる必要があります。番号は、彼自身の投稿の概要、CarPostView (表示?) で非公開で表示できます。

車が盗まれたら!(木をたたく)、ユーザーはその CarPost をアクティブ化(アクション?) できる必要があります。そのCarPostWeb サイトのフロント ページに盗難として表示され、検索可能で、すべての訪問者が読むことができます。車がユーザーに返却された場合、ユーザーCarPost非アクティブ化して、他のユーザーからは再び見えないようにすることができますが、投稿の概要ページに保持する必要があります。

私の頭の中では:

  • ユーザー、モデルが必要ですか?
    • ユーザーには属性があり、それらはビュー ファイルを介してアクセスされますか?
  • CarPost、モデルが必要ですか?
    • CarPost には属性があり、View ファイルからアクセスできますか?

次に、いくつかの「アクション」を作成する必要がありますか? CarPostsをアクティブ化/非アクティブ化し、それらの間の関係を確立できる場所。Rails ではリレーションはアソシエーションとして知られていると思いますが、間違っていたら訂正してください。そして、それらは私のモデルにあるはずですか?

任意のガイダンスをいただければ幸いです。

4

1 に答える 1

1

ウィキペディアから:

ソフトウェア エンジニアリングでは、エンティティ関係モデル (ER モデル) は、データベースを抽象的な方法で記述するためのデータ モデルです

あなたの質問:

命名規則や翻訳は何ですか - エンティティはコントローラーですか? モデル?

Rails *(および他のすべての * M *VC フレームワーク)* のモデル層は、ユーザーとデータベースの間の抽象化層です。各モデルは通常「エンティティ」であり、一部の関係は、モデルの関連付け/関係によって記述されます。


あなたの説明から、 a UserandCarPostはモデルとして存在します(ただし、のような名前に変更する傾向があります)CarPostCar。これらのモデルごとに、データベースにusersとテーブルの両方があります。cars

ダイアグラム内の「アクション」は、多くの場合、Rails コントローラー内のアクションで処理されます。これはMV* C * のCです- ビジネス ロジックが入るレイヤーです。良い例は、アプリケーション内での のリストの「アクティブ化」です。これはのアクションに含まれる場合があります。CarCarsControlleractivate


「ビュー」は単なる HTML テンプレートで、M* V *CのVです。これは、ユーザーが何をしたいのかを Rails に伝えるために表示され、対話するものです。再びあなたの例に従うと、ユーザーの車を表示するビュー(通常は のshowアクションCarsController)があり、同じビュー/テンプレートに のactivateアクションへのリンクがある場合がありますCarsController

これは、ERモデルに関するあなたの質問に関連して、MVCの単純化された説明であることは確かです。より深く掘り下げることに興味がある場合は、MVC をグーグルで検索することをお勧めします。インターネットには MVC に関する情報が散らばっています。


Hartl チュートリアルの多くを経験したことをコメントで述べています。私自身は読んだことがありませんが、Rails を始めたばかりの人たちの間で非常に人気があることは知っています。チュートリアルをほぼ最後までやり遂げたにもかかわらず、ER モデルと Rails のフレームワークのさまざまな部分との間の点を結び付けることができなかったとは、少し信じがたいと思います。これは批判ではありませんが、あなたが思っているよりも多くのことをチュートリアルから得るべきだったことを指摘しているだけです。

初心者向けのもう 1 つの優れたリソースは、Rails の公式ガイドです。

于 2013-08-29T22:49:21.050 に答える