私はRailsプロジェクトに取り組んでいます。私は、サイトの要求を処理する 1 つのコントローラー (Home_Controller) を作成するように勧められました。Post と Person の 2 つの異なるモデルがあります (どちらも完全に独立しています)。ホームコントローラーのようなメソッドを定義したいのですが、 やnew
のようなコントローラーメソッドを書くのは慣習に反しているようです。 new_person
new_post
ご協力いただきありがとうございます!
私はRailsプロジェクトに取り組んでいます。私は、サイトの要求を処理する 1 つのコントローラー (Home_Controller) を作成するように勧められました。Post と Person の 2 つの異なるモデルがあります (どちらも完全に独立しています)。ホームコントローラーのようなメソッドを定義したいのですが、 やnew
のようなコントローラーメソッドを書くのは慣習に反しているようです。 new_person
new_post
ご協力いただきありがとうございます!
モデル のみを制御する必要があるため、 MVCパターンに反します。Home_Controller
Home
懸念事項を区別するために aPeopleController
と aが必要です。PostsController
そうは言っても、あなたが求めているシステムを持っていることはまったく前例のないことではありません..必要routes.rb
なものに一致するように独自のカスタムルートを作成する必要があります. たとえば、HomeController は次のようになります。
class HomeController < ApplicationController
...
def new_person
@person = Person.create
end
def new_post
@post = Post.create
end
end
ルートは次のようになります。
get 'people/new' => 'home#new_person'
get 'post/new' => 'home#new_post'
主な問題は、この規則から逸脱すると、コードが非常に読みづらく、保守が困難になることです。特に、1 つのファイルに複数の手がある場合。
先に進んで、おそらく言うつもりです。文脈の外で正確に知ることは困難ですが、そうです、これは慣習に反します。
慣例の問題とは別に、保守性と可読性があり、1 つの大規模なコントローラー ファイルを開発するのは地獄です。