#ruby-on-rails-3
#ruby-on-rails-3
Вопрос:
У меня уже некоторое время возникает эта проблема, и, похоже, я не могу разобраться, поскольку я много раз воссоздавал все с нуля
В любом случае, я нахожусь в той части книги, откуда мы хотим, чтобы ссылка на домашнюю страницу переходилаhttp://localhost:3000/pages/home (Кстати, это сработало отлично), чтобы http://localhost:3000 (в основном это означает, что я хочу, чтобы домашняя страница отображалась на корневой странице)
В настоящее время ошибка, с которой я сталкиваюсь, заключается в том, что ссылки на макет должны иметь домашнюю страницу по адресу ‘ /’ Сбой / ошибка: ответ.должен иметь_селектор(‘title’, : content => «Home») А под ней куча текста, в котором говорится, как должна выглядеть страница.
Теперь я сделал 2 вещи, сначала я создал страницу layout_link_sp.rb, добавил страницу справки в pages_controller.rb и добавил маршруты в config / routes.rb ниже приведен код для всех 3
layout_link_sp.rb
require 'spec_helper'
describe "LayoutLinks" do
# describe "GET /layout_links" do
# it "works! (now write some real specs)" do
# Run the generator again with the --webrat flag if you want to use webrat methods/matchers
# get layout_links_index_path
# response.status.should be(200)
it "should have a Home page at '/'" do
get '/'
response.should have_selector('title', :content => "Home")
end
it "should have a Contact page at '/contact'" do
get '/about'
response.should have_selector('title', :content => "About")
end
it "should have a Help page '/help'" do
get '/help'
response.should have_selector('title', :content => "Help")
end
end
Pages_controller.rb
def home
@title = "Home"
end
def contact
@title = "Contact"
end
def about
@title = "About"
end
def help
@title = "Help"
end
end
config/routes.rb
SampleApp::Application.routes.draw do
match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/help', :to => 'pages#help'
root :to => 'pages#home'
end
Я что-то делаю не так?
Ответ №1:
Добавьте «end» в конец ваших маршрутов.rb 🙂 Есть блок, который открывается с помощью «do», и вы его не закрыли. Внимательно проверьте листинг 5.20.
Комментарии:
1. это было там, я просто забыл добавить это
2. что вы имеете в виду, проверяя это вручную? вы имеете в виду, нравится ли мне / home?
3. Я имею в виду, видите ли вы свою домашнюю страницу, если заходите на localhost: 3000 / с помощью вашего браузера?
4. нет, все, что я вижу, это домашняя страница по умолчанию Добро пожаловать на борт, вы едете на Ruby on Rails!
5. 🙂 удалить index.html из общедоступных. Кстати, запомните этот момент, вы можете столкнуться с этой проблемой позже, когда начнете внедрять кэш для своих приложений, и это будет создавать index.html в вашем паблике, и вы будете пытаться понять, что, черт возьми, происходит с вашей главной страницей 🙂