Моя рубиновая версия 1.9.1.это первый проект в ruby, который я пытаюсь разработать.я получаю сообщение об ошибке «NameError (неопределенная локальная переменная или метод request' for #<User:0x3ab7220>):
app/models/user.rb:36:in
login» app / controllers / user_controller.rb: 7: в `signup '"
, когда я пытаюсь ввести некоторые данные и сохранить записиВот класс контроллеров
class UserController < ApplicationController
def signup
if request.post? and params[:user]
@user = User.new(params[:user])
if @user.save
session[:user] = @user
flash[:notice] = "User #(@user.login) created !"
redirect_to :action =>"home"
else
flash[:error]="Signup unsuccessful"
@user.clear_password!
end
end
end
def home
@title = "Bookshelf - User Home"
end
Мой signup.html
<div id="signup_content">
<span class="title">Sign-up for a BookShelf account...</span>
<% form_for :user, @user, :url => {:action => "signup" } do |f| %>
<%= error_messages_for 'user' %><br/>
<div class="signup_field">
<label for="user_login">Login:</label>
<%= f.text_field :login %><br/>
</div>
<div class="signup_field">
<label for="user_first_name">First Name:</label>
<%= f.text_field :first_name %><br/>
</div>
<div class="signup_field">
<label for="user_password_confirmation">Password Confirmation:</label>
<%= f.password_field :password_confirmation %>
</div>
<%= submit_tag "Signup" %>
<% end %>
application.html
<html>
<head>
<title><%= @title %></title>
<%= stylesheet_link_tag "style" %>
<%= javascript_include_tag :defaults %>
</head>
<body>
<div id="header">
<div id ="logo_image">
<%= link_to image_tag('main_logo.png'),
:controller=>'home', :action=>'index' %>
</div>
<% if !session[:user] %>
<%= render :partial=>"user/signin" %>
<% else %>
<div id ="user_menu"><%= link_to 'Logout',:controller=>'user',:action=>'logout'%>
</div>
<% end %>
<div style="clear: both;height:0px;"></div>
</div>
<%= render :partial=> "shared/sidebar" %>
<div id="Content">
<% if flash[:notice] -%>
<div id="notice"><%= flash[:notice] %></div>
<% end -%>
<% if flash[:error] -%>
<div id="error"><%= flash[:error] %></div>
<% end -%>
<!-- <%= yield %> uncommenting solved the double rendering problem-->
</div>
</body>
</html>