2011-08-08 6 views
0

私はaptanaスタジオ3を使って、レール上でルビーを学んでいます。私はhello.rhtmlビューを作成しました。ビューを実行してソースを見ると、自動的にjsファイルが表示されます。私のRHTMLファイルには、HTMLマークアップなし例えばAptanaスタジオ3は、自動的にrhtmlファイルにhtmlマークアップを含めます。

hello world 

ための空で、私はソースを見れば、私はHTMLのDOCTYPEなど既に存在しているから、全体のマークアップを見ることができたとしても。どのように私は自動マークアップの包含を停止するのですか?

おかげ

編集:私はhello.html.erbファイルを作成

OK。私は出力を得るが、私はソースを表示するとき、私は次の結果を取得するには、保存したファイルを実行すると、その内側に

こんにちは

をこのコードを置きます。あなたが見る場合

<!DOCTYPE html> 
<html> 
<head> 
    <title>Demo</title> 

    <script src="/javascripts/prototype.js?1312799421" type="text/javascript"></script> 
<script src="/javascripts/effects.js?1312799421" type="text/javascript"></script> 
<script src="/javascripts/dragdrop.js?1312799421" type="text/javascript"></script> 
<script src="/javascripts/controls.js?1312799421" type="text/javascript"></script> 
<script src="/javascripts/rails.js?1312799421" type="text/javascript"></script> 

<script src="/javascripts/application.js?1312799421" type="text/javascript"></script> 
    <meta name="csrf-param" content="authenticity_token"/> 
<meta name="csrf-token" content="82LBP1pI5h0QzNW54PYSq/zdkS8kF4Z/nKSUHgKvv1g="/> 
</head> 
<body> 

<html> 
    <head><title>Hello</title></head> 
    <body> 
</body> 
</html> 


</body> 
</html> 

はSO、私は、HTML内のHTMLを取得し、ブラウザで私のタイトルは、代わりに「こんにちは」の「デモ」を示したときに

UPDATE:ここ

はアプリケーションの内容でありますレイアウト。そして、私は今、コードがこのレイアウトから来ていることを理解しています。

<!DOCTYPE html> 
<html> 
<head> 
    <title>Demo</title> 
    <%= stylesheet_link_tag :all %> 
    <%= javascript_include_tag :defaults %> 
    <%= csrf_meta_tag %> 
</head> 
<body> 

<%= yield %> 

</body> 
</html> 

私はこれに新しいですので、どのようなベストプラクティスであるとどのようなコードがapplication_layout.html.erbで存在すべきです。私はすべてのビューファイルに独自のhtmlコードを持たせたいと思います。 ありがとうございます

答えて

1

あなたのビューは.html.erb拡張子がrhtmlではないはずです(これはRails 1.xからのハングオーバーです)。 アプリケーションレイアウトファイルを確認してください。 headセクションにjavascriptを含むエントリが表示されます。ただそれをコメントしてください、あなたは含まれません。

これはちょうど私に質問を残します。あなたの持つ実際の問題は何ですか?どうしてそれはあなたを悩ませるのですか?おそらくこれに対する答えは、より適切な解決策を見つけるために正しい質問にあなたを導くでしょう。

更新 application_layout.html.erbを詳しく見てください。 その内容を投稿できますか?

+0

私は自分の質問を編集しました。基本的には、htmlマークアップをhtmlマークアップで取得しています。私の.html.erbファイルにhtmlコードを書き込んでコードを実行すると、私のビューソースでhtmlコードが引き続き表示されます。 – noobcode

+0

私の更新を参照してください。私は今、prob_iがapplication_layout.html.erbのcosであることを理解しています...あなたは同じもののための最良のオプションを提案できますか?.. thanks – noobcode

+0

application_layout.html.erbから他のコードをすべて削除し、<%= yeild %>のみを使用しています。それは私がそれが働くことを望むように働く...これが最高の欲求不足であることを望む。ありがとう – noobcode

1

これはエラーではありません。これがRailsの仕組みです!

Railsはviews/layouts/application.html.erbを生成します。これはウェブサイトの基本テンプレートです。このテンプレートでは、作成した各ページに同じHTML宣言をコピー&ペーストする必要はありません。

RailsはModel、View、Controllerを表すMVCという規約を使用します。私はあなたがこれがどのように働くかについてもう少し詳しく読むことをお勧めします。基本的には、<%= yield%>はビューの内容を挿入しますが、どのビューがどのビューを指しているかをRailsに伝えなければなりません。これで、ビュー/ページ/ home.html.erbを持つことができます。

<h1>Home Page</h1> 
<p>Congratulations, you made a web page with Rails!</p> 

そしてあなたがhttp://localhost:3000/homeに行くroutes.rbを

YourApp::Application.routes.draw do 
    match 'home' => 'pages#home' 
end 

は、あなたのWebページが表示されるはずです。ソースコードを見ると、Railsによって生成された出力が表示されます。

<!DOCTYPE html> 
<html> 
<head> 
    <title>Demo</title> 
    <%= stylesheet_link_tag :all %> 
    <%= javascript_include_tag :defaults %> 
    <%= csrf_meta_tag %> 
</head> 
<body> 
    <h1>Home Page</h1> 
    <p>Congratulations, you made a web page with Rails!</p> 
</body> 
</html> 

これは間違いなくRailsを使用する正しい方法です。目標はDRY(あなた自身を繰り返さないでください)です。 Michael Hartlには、Ruby on Railsを使った素晴らしいチュートリアルと紹介があります。 Ruby on Railsの初心者は、ここから始めてみてください:http://ruby.railstutorial.org/ Ruby on Railsや一般的なWebデザインの使用に関するご質問がある場合は、お手伝いします。あなたは[email protected]まで私に電子メールで送ることができます。乾杯とあなたに幸運!

+0

ありがとうDragonstar、非常に洞察力のある情報。 – noobcode

関連する問題