1

私はついにRailsアプリをゼロから作成し始め、そのコツをつかんでいますが、唯一の問題は、すべてのモデル/コントローラーを作成することが非常に反復的になり、DRYの概念全体がウィンドウから完全に捨てられることです。基本的に、コントローラーをコピーして名前を変更する/フィールドを追加/無効にする。私は持っています:

プロジェクト人タスクメッセージ

などと最初の3つは、ほぼ同じレイアウトとCRUDである必要があります。スキャフォールディングのたびにすべてのアクション/ビューを手動で作成する必要がない唯一の方法はありますか?もしそうなら、私が知っておく必要がある足場は他に何を生成しますか。チュートリアルでアプリケーションがどのように機能するかを知りたかったので、過去に使用することに注意していました。

4

2 に答える 2

1

私の意見では、足場は新しいRailsプログラマー向けではなく、自分でRailsを理解し、批判的なアプローチをとった後でのみ使用する必要があります。それはあなたが必要としないファイル全体を生成したり、不要なルートを定義したりするかもしれません...

ここで、scaffoldが作成するものの詳細を確認できます。

あなたが作っている反復コントローラーに関しては、この重複の多くを排除するgem ExplicitResourcesを使用することを提案できます少なくとも基本的なCRUDコントローラー操作をしている間)

ExplicitResourcesは、基本的なコントローラーのインデックス/表示/破棄/作成/編集アクションを設定します。必要なのは、以下を使用して継承することだけです。

class ProjectsController < InheritedResources::Base
end

必要に応じて、アクションを自分で定義することでアクションをオーバーライドできます。

于 2012-07-20T09:59:36.150 に答える
1

それは素晴らしい点です。一般に、コントローラーをできるだけ薄くし、足場が提供するものよりも確実に薄くしたいと考えています。

私がスキャフォールディングについて考えるのが好きなのは、現在のベストプラクティスと知りたいことの例として、新しいRailsアプリの最初の機能に使用するのが良いということです。ただし、その後は自分でコントローラーを作成し、重複を除外します。

追加のアイデアについては、読んだり見たりすることをお勧めします...

于 2012-07-20T10:03:50.357 に答える