3

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

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

4

7 に答える 7

32

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

第二に、あなたがしていることをやめて、すべてを再考してください!!!!!

MVCの要点は、ロジックをディスプレイから分離すること、およびその逆を行うことです。ほとんどのロジックはモデルに含まれている必要があり、コントローラーはそのロジックを取得してビューに渡すのを容易にする必要があります。

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

于 2009-05-04T17:21:39.070 に答える
11

「クライアントから、特注の棚システムを構築して設置するように依頼されました。釘を打つ必要があるところですが、釘を打つために何を使用すればよいかわかりません。

古い靴やガラス瓶を使うべきですか?

あなたの場合、私はガラス瓶を選びます。

于 2009-05-05T03:21:49.780 に答える
4

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

あなたが小さなアプリを持っていて、標準が実際には適用されないことは理解していますが、それが MVC の要点です。ロジックはコントローラー/モデルに入る必要があり、ビューは厳密に表示用です。

于 2009-05-04T17:35:54.370 に答える
3

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

それがその方法です、残りはあなた次第です。

于 2009-05-05T02:41:17.960 に答える
1

MVC に準拠することは、アプリケーションの構築に進む方法です。Controller が必要な理由がわからない場合は、調査を行ってください。スクリプトがプレゼンテーション層に埋め込まれているコードを維持することに直面しました。実績のある正確な方法論を完全に理解せずにエンジニアリング作業を開始するのはばかげています。土台も設計図も使わずに家を建てようとするようなものです。

于 2011-08-25T13:03:05.790 に答える
1

はい、レールの作成者が小さなアプリにレールを使用すべきではないと述べたことは一度もありませんが、コントローラーの重要性を何度も述べてきたという点であなたは正しいです。

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

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

「標準」のRubyフレームワークの使い方を学びたい

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

私は他の人たちに同意します。フレームワークを学ぶために時間を割くつもりなら、作成者が意図したとおりに正しく学びましょう。さもなければ、要点を見逃しており、Rails が開始するのに優れた Web フレームワークである理由がわからないでしょう。と。あなたが達成したいことは、ASP、ASP.Net、PHP、JSP、Perl などの多くの Web テクノロジで実行できますが、Ruby と Rails を学習することを選択したため、他の Web テクノロジと同じようには実行できません。その他のウェブ技術。

于 2009-05-04T18:51:39.913 に答える
0

本当に何もありません。Rails 1 と Rails 2 の間で考え方が変わっただけです。Rails 2 より前は、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 は新しい標準です。

于 2012-05-20T19:07:03.120 に答える