完璧な解決策はありません。手作業でコーディングする場合、本当に慣用的なレールを使用していますか?「中級」のプログラマーにとっては、すべてを手作業でコーディングしたくないし、単純な足場に頼ることもできません。生成されたコードを理解する必要がありますが、60 wpmの完璧なコーディングを最初から教祖に任せてください!
私は3つの語用論を提案します
A.素晴らしいスタートを切りましょう。Boilerplatingは、必要なモジュール(auth用に考案、ajaxyフォーム用のsimple_form、twitter-bootstrapなど)を選択し、断片的にボルトで固定するのではなく、かなりロードされたサイトから開始するJavascriptおよびNodeプロジェクトでそれを行う主な方法です。 。これは重くはありません-「PRO」サイトを作成するためだけです。私はまだ良いRoRボイラープレート、railsapps(作曲家は姉妹サイトです)、railsbricks、そして古き良きRailsテンプレートを探しています。Railsエンジンはこれを可能にするはずです。残念ながら、ベストプラクティスを組み込んだテスト済みの構成を提供するには「教祖」が必要であるため、これがどのように行われるかについては十分に説明されていません。
B.モデル-最初のアプローチ。初日からまともなモデルから始めます。フィールドを1つずつ追加する代わりに、座って、サイトの3〜4個のコアテーブルを取得して、それらの関係をうまく機能させてください。「アジャイル」な人々はミニマリストのアプローチに反対するかもしれませんが、経験豊富な人は「少し先に設計」してみませんか。もちろん、コーディングする前に、他の極端な数十のテーブルやER図を避けたいと思います。適切なモックアップ/ユーザーデザインがある場合は、MVP(最小限の実行可能な製品)のかなり前もってサイトの外観と固有のモデルを投影できます。もちろん、これは、アプリをどのように見せたいかについて、2〜4週間の先見性があることを示唆しています:)
C.テスト/移行の少ない足場。ハイブリッドアプローチは、最初にモデルの生成とデータの移行のみを行い、次にテストなしのスキャフォールドまたはオプションを使用した移行を行う場合に、より実用的です。この例については、Rails 4forBeginnersの本ch5を参照してください。利点は、手作りのモデルコードを上書きせず、RoRマジックが提供するモデルごとに最大5つ以上のファイルのダーティな詳細をscaffoldに処理させることです。#1。タイトル、本文を含むモデル記事を生成します#rake db:createを実行し、モデルにプレゼンス、最小長などの検証を手動で追加します#ここでスキャフォールドを実行できます..#場所を追加し、db移行のみで抜粋します(手動ではありません)スキーマ編集もスキャフォールドもすべて)$ railsは移行を生成しますadd_excerpt_and_location_to_articles抜粋:文字列の場所:
ポイントを取得すると、モデルを進化させるときに、足場がスローアウェイとして扱われることがわかります。現時点では、コントローラーの詳細やビューを上書きすることについては、実際には何も気にしません。しかし、あなたはあなたのモデルを保護していて、例えばモデル間の関係や詳細な検証を手作業で編集しています。
副次的な利点として、モデルファーストの実用的な方法がこのアプローチでうまく機能します。足場を停止する前に、アプリで5〜20のモデルにかなりの距離を置くことができます。その時までに、コードモデルはかなり決定されているはずです。