Ruby On Rails: отображение исходного кода html вместо его рендеринга - PullRequest
0 голосов
/ 10 июля 2010

У меня большая проблема (кажется, что даже администратор моего сервера испытывает некоторые трудности для ее решения).

Я использовал свою cpanel (11.25.0-STABLE) для создания нового приложения ruby ​​on rails, которое отлично работает при доступе к его исходному uri (с номером порта).

Чтобы сделать этот URI более удобным для пользователя, я создал переписывание для доступа к своему приложению RoR без указания номера порта.

Содержимое моего .htaccess для моего переписанного URI

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^greendeers.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.greendeers.com$
RewriteRule ^.*$ "http\:\/\/127\.0\.0\.1\:12001%{REQUEST_URI}" [P,QSA,L]

приложение / контроллеры / helloworld_controller.rb

class HelloworldController < ApplicationController
  def index
  end
end

Приложение / просмотров / макеты / helloworld.html.erb

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
  <title><%= controller.controller_name %>: <%= controller.action_name %></title>
  <%= stylesheet_link_tag 'scaffold' %>
</head>
<body>

  <p style="color: green"><%= notice %></p>

  <%= yield %>

</body>
</html>

приложение / просмотров / HelloWorld / index.html.erb

<h1>HELLO WORLD</h1>

Первая страница (оригинальная, созданная RoR) отлично работает с обоими uri, но при доступе к одному из моих контроллеров html не отображается, вместо этого отображается html-код.

http://www.greendeers.com/helloworld

Эта страница отображается, как и ожидалось, с использованием исходного URI (как и выше, с номером порта: 12001)

Мой журнал отображает одно и то же при обращении к обоим URI:

Обработка HelloworldController # index (для [Мой IP-адрес] в 2010-07-10 02:53:20) [GET]

Визуализация шаблона в макетах / helloworld

Рендеринг helloworld / index

Завершено за 1 мс (Просмотр: 1, БД: 0) | 200 ОК [http://greendeers.com/helloworld]

У вас есть подсказка, как это исправить?

Извините, я могу опубликовать только одну ссылку на сообщение в данный момент: /

Ответы [ 2 ]

0 голосов
/ 11 июля 2010

Я исправил это. Это было как-то связано с дворнягой. Я нашел решение здесь:

https://rails.lighthouseapp.com/projects/8994/tickets/4690

:)

0 голосов
/ 10 июля 2010

Это потому, что вы плохо используете свой .htaccess.

Вместо этого используйте прокси-систему или пассажира.Не ваши правила переписывания

...