ビューにすべてのコントローラーロジックが存在するRailsアプリに.erbファイルまたは.rhtmlファイルを使用する必要がありますか?

StackOverflow https://stackoverflow.com/questions/821010

質問

Railsを学び始めたばかりです。空のRailsアプリを作成しました。また、コントローラーを作成する代わりに、個別のコントローラークラスではなく、ビューにすべてのコントローラーロジックを配置する必要があります。

これを行うには、.erbファイルまたは.rhtmlファイルを使用する必要がありますが、違いは何ですか?

役に立ちましたか?

解決

まず第一に、それらは事実上同じものですが、.html.erbの新しい標準命名形式を使用する必要があります

次に、やっていることをやめて、すべてを再考する!!!!!

MVCの重要なポイントは、ロジックを表示から分離することです。ロジックのほとんどはモデル内にあり、コントローラーはそのロジックを取得してビューに渡すことを容易にするだけです。

データを表示する以外に、ビューで何もしないでください。

他のヒント

"クライアントから、カスタムシェルフシステムの構築とインストールを依頼されました。私はそれを釘付けする必要がありますが、釘を打ち込むのに何を使うべきかわかりません。

古い靴またはガラス瓶を使用すべきですか?

あなたの場合、ガラス瓶

新しいrails 3.0では、.rhtmlファイルはサポートされません。 .html.erbは新しい標準です。

あなたには小さなアプリがあり、標準は実際には当てはまらないと思いますが、それがMVCのポイントです。ロジックはコントローラー/モデルに入り、ビューは表示専用です。

あなたの質問に対する簡単な答えはノーです。いいえ、ビューにコントローラーロジックを配置しないでください。コントローラーが必要ない場合は、おそらくレールは必要ありません。私はそれがあなたが望む答えではないことを知っていますが、率直に言ってあなたは間違っていて、純粋でシンプルです。 Railsフレームワークを学習したい場合、ここで言われたことは正しいですし、それを自分のやり方で行うということは、単にあなたがやったことを学習しないか、悪い開発者になることを意味するでしょう。

これが現状であり、残りはあなた次第です。

はい、Railsの作成者は、小さなアプリにはRailsを使用すべきではないと言ったことはありませんが、コントローラーの重要性について繰り返し述べています。

空のRailsアプリを作成しました。また、コントローラーを作成する代わりに、個別のコントローラークラスではなく、ビューにすべてのコントローラーロジックを配置します。

好奇心から、どのような種類のロジックをビューに入れることを検討していますか?それがプレゼンテーションロジックである場合、それは1つのことですが、それがビジネスルールであり、データベース、xmlファイル、Webサービス/レストからデータをロードする場合、レールのコア原則に違反しています。 ASP(Classic Active Server Pages)を聞いたことがありますか? ASPのような欠点や落とし穴を克服して、プレゼンテーションとコードを混在させないようにするために、フレームワークはそれを超えて進化しました。すべて一緒にジャムする場合、コードをどのようにユニットテストしますか? Railsのもう1つの重要な原則は、他のWebフレームワークとは異なり、フレームワーク自体に組み込まれている理由です。

「標準」を使用する方法を学びたいRubyフレームワーク

あなたの回答では、標準のRubyフレームワークを学びたいと言っていますか?この場合、irbを使用しないのはなぜですか? Railsは標準のRubyフレームワークの一部ではありません。実際、おそらくRailsよりもirbを使用してRubyについて多くのことを学ぶでしょう。 Rubyに慣れたら、レールに乗ってください。

私は他の人に同意します。フレームワークを学ぶために時間をかけるなら、作成者が意図したとおりに正しく学びましょう。はじめにフレームワーク。達成したいことは、ASP、ASP.Net、PHP、JSP、Perlなどの多くのWebテクノロジーで実行できますが、RubyとRailsを学習することを選択するため、他のウェブ技術。

MVCに準拠することは、アプリケーションのビルドを進める方法です。 コントローラーが必要な理由が不明な場合は、調査を行ってください。私は持っています スクリプトがプレゼンテーション層に埋め込まれているコードの保守に直面しました。 完全に理解せずにエンジニアリングの取り組みを開始するのは皮肉です 正しい、時間テスト済みの方法論の。家を建てようとしているようなものです 基盤や設計図を使用しません。

実際には何もありません。これは、Rails 1とRails 2の間の哲学の単なる変更です。Rails2の前には、file.rhtml、file.rxml、file.rjsがありました。 Railsでは、file.content_type.template_engineに変更されました。したがって、file.html.erbでは、コンテンツタイプはhtmlであり、テンプレートエンジンはERbです。 rxmlはxml.builderになり、rjsは(ほとんど)js.rjsになります

新しいrails 3.0では、.rhtmlファイルはサポートされません。 .html.erbは新しい標準です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top