Я следую книге Майкла Хартла: "RailsSpace строит социальную сеть с помощью ruby on rails" . Я на странице 91,
Когда я пытаюсь перейти на страницу регистрации, я получаю это:
ActionController::UrlGenerationError in User#register No route matches {:action=>"about", :controller=>"user"}
Кто-нибудь знает почему? Пожалуйста, помогите.
У меня есть файл register.html.erb
, сохраненный в папке app/views/user
. Я не знаю, почему у меня возникает ошибка генерации URL.
Вот код для app/views/user/register.html.erb
:
<h2>Register</h2>
<% form_for :user do |form| %>
<fieldset>
<legend>Enter Your Details</legend>
<label for="screen_name">Screen name:</label>
<%= form.text_field :screen_name %>
<br />
<label for="email">Email:</label>
<%= form.text_field :email %>
<br />
<label for="password">Password:</label>
<%= form.password_field :password %>
<br />
<%= submit_tag "Register!", :class => "submit" %>
</fieldset>
<% end %>
Вот код для моего пользовательского контроллера:
class UserController < ApplicationController
layout "site"
def index
end
def register
@title = "Register"
end
end
Вот мой файл route.rb:
Rails.application.routes.draw do
get 'user/index'
get 'user/register'
get 'site/index'
get '/site/about'
get 'site/help'
root 'site#index'
end
Я пытаюсь попасть на страницу регистрации, набрав:
localhost:3000/user/register
почему он говорит:
Showing C:/Users/Vanessa/rails_space/app/views/layouts/site.html.erb where line #16 raised
Вот что отображается в моей консоли:
ActionView::Template::Error (No route matches {:action=>"about",
:controller=>"user"}):
13: <div id="nav">
14:
15: <%= link_to_unless_current "Home", :action => "index" %> |
16: <%= link_to_unless_current "About Us" , :action => "about" %> |
17: <%= link_to_unless_current "Help", :action => "help" %>
18:
19: </div>
Спасибо всем заранее за помощь.
Вот мой файл app / views / layouts / site.html.erb:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title><%= @title %></title>
<%= stylesheet_link_tag "site" %>
</head>
<body>
<div id="whole_page">
<div id="header">RailsSpace</div>
<div id="nav">
<%= link_to_unless_current "Home", :action => "index" %> |
<%= link_to_unless_current "About Us" , :action => "about" %> |
<%= link_to_unless_current "Help", :action => "help" %>
</div>
<div id="content">
<%= yield %>
</div>
</div>
</body>
</html>