2010-07-10 4 views
0

У меня большая проблема (даже администратор моего сервера, похоже, имеет некоторые трудности для его решения).Ruby On Rails: отображать исходный код html вместо рендеринга

Я использовал свой cpanel (11.25.0-STABLE), чтобы создать новое рубиновое приложение 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> 

приложение/views/helloworld/index.html.erb

<h1>HELLO WORLD</h1> 

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

http://www.greendeers.com/helloworld

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

Мой журнал дисплей То же самое при обращении обоих URI:

Обработка индекса HelloworldController # (для [My ip address] в 2010-07-10 02:53:20) [GET]

Рендеринг шаблона в макетах/helloworld

Rendering helloworld/index

Выполнено в 1ms (Вид: 1, DB: 0) | 200 OK [http://greendeers.com/helloworld]

У вас есть ключ к тому, как это исправить?

К сожалению, я могу разместить только одну ссылку за пост в данный момент:/

ответ

0

Я установил его. Это было связано с дворнягами. Я нашел решение здесь:

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

:)

+0

Этот URL-адрес недоступен. Не могли бы вы объяснить решение? – 2011-06-06 16:51:32

+0

@etienne - кажется, что проблемы с рельсами были перенесены из Lighthouse в GitHub: https://github.com/rails/rails/issues/404 Возможно, вы сможете найти эту проблему где-то в [здесь] (https: // github.com/rails/rails/issues?sort=created&direction=desc&state=open&page=1). К сожалению, не похоже, что они переносили старые идентификаторы. [Это возможно] (http://mail-archives.apache.org/mod_mbox/httpd-users/201011.mbox/%[email protected]%3E) help. – Kev

0

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

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

+0

Спасибо за Ваш ответ. Не могли бы вы рассказать мне больше о пассажире? Я только начал использовать RoR, я мало знаю об этом. –

+0

читать документацию: http: //www.modrails.com/ – shingara

+0

Любые другие решения, кроме этих 2? Мой веб-хостинг-провайдер не позволит мне установить Пассажир ... Я начинаю задаваться вопросом, было ли правильным решением пойти с ними. В противном случае мне придется переместить мой сайт в другое место. –

Смежные вопросы