2014-01-15 2 views
0

Я новичок в RoR. У меня здесь две проблемы. ВЫПУСК 1 мой RSpec являетсяpry on rspec in cloud 9 ide

require 'spec_helper' 
describe RefUserCategory do 
    describe "validations" do 
     it { should validate_presence_of(:user_category_description) } 
    end 
end 

моя Ref_User_Category модель

class RefUserCategory < ActiveRecord::Base 
    validate :user_category_description , presence: true 
    has_many :Users 
end 

ошибка я получил в Rspec является Expected errors to include /can't be blank/ when user_category_description is set to nil, got no errors

Поэтому я решил использовать Поддеть, чтобы проверить, Что происходящее

ВЫПУСК 2 Im моя папка приложения я

pry -r ./config/environment 

[2] pry(main)> Ref_User_Category.new 
LoadError: Unable to autoload constant Ref_User_Category, expected /var/lib/stickshift/52d29d0e5004461024000031/app-root/data/736003/east/app/models/ref_user_category.rb to define it 
from /var/lib/stickshift/52d29d0e5004461024000031/app-root/data/lib/ruby/gems/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:464:in `load_missing_constant' 

У меня есть модель пользователя тоже

pry(main)> User.new 

дает ошибку

ActiveRecord::StatementInvalid: Could not find table 'users' 

/app-root/data/lib/ruby/gems/gems/activerecord-4.0.2/lib/active_record/connection_adapters/sqlite3_adapter.rb:512:in `table_structure' 

ответ

0

Что касается выпуск 1, у вас есть опечатка : изменить validate на validates.

Что касается выпуск 2:

Вы обычно запустить консоль от корня вашего проекта, как это:

$ rails c 

Вы делаете Ref_User_Category.new, когда вы должны сделать RefUserCategory.new.

О User.new, похоже, вы не запускать миграции базы данных:

$ rake db:migrate 
$ rake db:test:prepare 
+0

я сделал грабли БД: мигрировать. Или выполнение Rspec могло бы предложить мне то же самое. В любом случае я снова попробовал «rake db: migrate RAILS_ENV = test» все еще не работает – Rigel

+1

Что делает «$ rake db: test: подготовить» выходы? Кроме того, вы запускаете «rails console» из корневой папки вашего проекта? – Agis

+0

rake db: test: подготовить не давать выход. Спасибо за указатель, который он выдал с помощью rails console, не выполнил должным образом, получил ошибку 'config.eager_load установлен на nil' исправлен, спасибо :) Теперь работаю – Rigel

Смежные вопросы