Aptana studio 3 автоматически включает html-разметку в файлы rhtml - PullRequest
0 голосов
/ 08 августа 2011

Я изучаю ruby ​​на рельсах, используя aptana studio 3. Я создал представление hello.rhtml. Когда я запускаю представление и вижу источник, я вижу, что автоматически включаются js-файлы. Даже если мой файл rhtml пуст, например,

hello world

Без html-разметки, и если я вижу источник, я могу видеть всю разметку из html doctype и т. Д., Уже имеющуюся. Как мне остановить включение автоматической разметки?

Спасибо

РЕДАКТИРОВАТЬ:

ОК, я создаю файл hello.html.erb. И поместите этот код внутри него

Привет

Когда я сохраняю и запускаю файл, я получаю вывод, но когда я просматриваю источник, я получаю следующий результат.

<!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>

ТАК если вы видите, я получаю html внутри html, и когда в браузере мой заголовок показывает "Demo" вместо "Hello"

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-код. Большое спасибо

Ответы [ 2 ]

1 голос
/ 21 сентября 2011

Это не ошибка, так работает Rails!

Rails создаст для вас views / layouts / application.html.erb, это базовый шаблонВеб-сайт.С этим шаблоном вам не нужно копировать и вставлять одни и те же объявления html на каждую создаваемую вами страницу.

Rails использует соглашение MVC, которое обозначает Model, View, Controller.Я предлагаю вам прочитать немного больше о том, как это работает.По сути, <% = yield%> будет вставлять содержимое вашего представления, но вы должны указать Rails, какой URL-адрес указывает на какое представление.Теперь у вас может быть views / pages / home.html.erb, содержимое которого может быть ..

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

А затем в rout.rb

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

Когда вы переходите наhttp://localhost:3000/home, Вы должны увидеть свою веб-страницу.Если вы посмотрите на исходный код, вы увидите вывод, сгенерированный 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.Цель - СУХОЙ (не повторяй себя).У Майкла Хартла есть замечательное руководство и введение в использование Ruby on Rails.Я хотел бы предложить любому новичку в Ruby on Rails начать здесь: http://ruby.railstutorial.org/. Если у вас есть какие-либо вопросы об использовании Ruby on Rails или веб-дизайне в целом, я был бы рад помочь.Вы можете написать мне на адрес draco@dragonstarwebdesign.com.Ура и удачи тебе!

1 голос
/ 08 августа 2011

Ваше представление должно иметь расширение .html.erb, а не rhtml (это перенастройка из Rails 1.x).Проверьте файл макета приложения.в разделе заголовка вы увидите запись для включения JavaScript.Просто прокомментируйте это, и вы не будете включены.

Что оставляет меня с вопросом.Какая на самом деле проблема с тем, что у вас есть?Почему это тебя беспокоит?Возможно, ответ на этот вопрос поможет вам найти правильный вопрос, чтобы найти более подходящее решение.

ОБНОВЛЕНИЕ Внимательно посмотрите на свое application_layout.html.erb.Можете ли вы опубликовать содержание этого?

...