2011-12-21 2 views
0

Я использую postgresql в разработке в первый раз и успешно установил двоичный файл на мой 10.6-машину. Я создал суперпользователя Rails, createdb => 'vitae_development' с этим пользователем. Он отображается в $pqsl => '/du', но когда я вхожу в /dt, я получаю «никаких отношений».Rails 3.1 postgresql съемки пробелов в db

Мой пг самоцвет пг-0.12.0

В рельсам 3.10 консоль, я ввожу: User.create!(:name => "Sam", :email => "[email protected]")

Полученный результат:

INSERT INTO "users" ("created_at", "email", "name", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["created_at", Wed, 21 Dec 2011 19:40:13 UTC +00:00], ["email", nil], ["name", nil], ["updated_at", Wed, 21 Dec 2011 19:40:13 UTC +00:00]] 

Это, кажется, куча заготовок , Я искал googles, но, возможно, пропустил правильные условия поиска.

pgAdmin3, кажется, показывает таблицы на месте, насколько я могу судить, но без данных, которые я могу найти.

Это соответствующий отрывок из моего database.yml:

development: 
    adapter: postgresql 
    database: vitae_development 
    username: rails 
    password: 
    pool: 5 
    timeout: 5000 

Для полноты here's the whole user.rb:

class User < ActiveRecord::Base 
    attr_accessor :name, :email 

    email_regex = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i 

    validates :name, :presence => true, 
        :length => { :maximum => 50 } 
    validates :email, :presence => true, 
        :format => { :with => email_regex }, 
        :uniqueness => { :case_insensitive => false } 
end 

Что я с видом? Я сделал rake db:migrate.

+1

Какие типы электронной почты и имя в базе данных? Не могли бы вы вставить файл миграции? (Кроме того, вы можете установить: null => false для этих столбцов в файле миграции, а также в качестве лучшей системы безопасности.) –

+0

Да, это последние две миграции из этого утра: http://pastie.org/ 3054381 – sam452

ответ

3

Возможно, вы переопределили методы email или email= или положили attr_accessor :email в ваш файл User.rb?

EDIT: Выньте линию 2, где указано attr_accessor :name, :email. attr_accessor в контексте рельсов для переменных объекта, которые не будут сохранены в базе данных.

+0

Хм. Я не понимаю, как я могу переопределить методы электронной почты? Это весь файл users.rb. http://pastie.org/3054620 – sam452

+1

Выньте строку 2, где сказано attr_accessor: name,: email. attr_accessor в контексте рельсов - для переменных объекта, которые не будут сохранены в базе данных. –

+0

Вы должны поместить свой комментарий в свой ответ, поскольку это ответ. Я добавил 'user.rb' к вопросу о контексте. –

0

Попробуйте устранения проверки по форматированию электронной почте ... если он работает, я бы принять более глубокий взгляд на email_regex

+0

thx. Ни электронная почта, ни имя не отображаются со значениями. Вот команда на консоли после удаления проверки по электронной почте и перезапуска сервера. http://pastie.org/3054754 – sam452