В настоящее время я следую учебнику Ruby on Rails и столкнулся с небольшой проблемой после завершения section 8.3 в уроке. Функционально все работает отлично, я могу добавлять пользователей через мою форму и все такое. Однако теперь мои формы отображаются дважды на каждой странице веб-сайта. Я несколько раз перебирал код и просто не могу понять, что вызывает это. Вот ссылка на мой сайт Heroku, где вы можете увидеть проблему: http://deep-mist-5284.heroku.com/Руководство по Ruby on Rails от Michael Hartl: глава 8.3 - форма веб-сайта, отображающая дважды
Когда я запускаю сайт на сервере rails, он выводит эти файлы, которые он использует, но я просмотрел их и не нашел ничего плохого ,
Started GET "/signup" for 127.0.0.1 at 2012-04-05 16:43:13 -0700
Processing by UsersController#new as HTML
Rendered shared/_error_messages.html.erb (1.2ms)
Rendered layouts/_stylesheets.html.erb (17.9ms)
Rendered layouts/_header.html.erb (10.6ms)
Rendered layouts/_footer.html.erb (2.6ms)
Rendered users/new.html.erb within layouts/application (280.3ms)
Кто-нибудь знает, что вызывает эту проблему?
UsersController класс UsersController < ApplicationController
def show
@user = User.find(params[:id])
@title = @user.name
end
def new
@user = User.new
@title = "Sign up"
end
def create
@user = User.new(params[:user])
if @user.save
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
else
@user.password = ""
@user.password_confirmation = ""
@title = "Sign up"
render 'new'
end
end
end
Shared/_error_messages.html.erb
<% if @user.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@user.errors.count, "error") %>
prohibited this user from being saved:</h2>
<p>There were problems with the following fields:</p>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
Макеты/_stylesheets.html.erb
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<%= stylesheet_link_tag 'blueprint/screen', :media => 'screen' %>
<%= stylesheet_link_tag 'blueprint/print', :media => 'print' %>
<!--[if lt IE 8]><%= stylesheet_link_tag 'blueprint/ie' %><![endif]-->
<%= stylesheet_link_tag 'custom', :media => 'screen' %>
Макеты/_header.html .erb
<header>
<%= link_to logo, root_path %>
<nav class="round">
<ul>
<li><%= link_to "Home", root_path %></li>
<li><%= link_to "Help", help_path %></li>
<li><%= link_to "Sign in", '#' %></li>
</ul>
</nav>
</header>
Макеты/_footer.html.erb
<footer>
<nav class="round">
<ul>
<li><%= link_to "About", about_path %></li>
<li><%= link_to "Contact", contact_path %></li>
<li><a href="http://news.railstutorial.org/">News</a></li>
<li><a href="http://www.railstutorial.org/">Rails Tutorial</a></li>
</ul>
</nav>
</footer>
пользователей/new.html.erb
<h1>Sign up</h1>
<%= form_for(@user) do |f| %>
<%= render 'shared/error_messages' %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %><br />
<%= f.password_field :password %>
</div>
<div class="field">
<%= f.label :password_confirmation, "Confirmation" %><br />
<%= f.password_field :password_confirmation %>
</div>
<div class="actions">
<%= f.submit "Sign up" %>
</div>
<% end %>
макеты/приложения
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<%= csrf_meta_tag %>
<%= render 'layouts/stylesheets' %>
</head>
<body>
<div class="container">
<%= render 'layouts/header' %>
<section class="round">
<% flash.each do |key, value| %>
<%= content_tag(:div, value, :class => "flash #{key}") %>
<% end %>
<%= yield %>
</section>
<section class="round">
<%= yield %>
</section>
<%= render 'layouts/footer' %>
<%= debug(params) if Rails.env.development? %>
</div>
</body>
</html>
Вау, большое спасибо !!!! Вот так! – h4xhouse