2013-09-29 3 views
0

음 전용 - 나는 심지어 단어를 사용하고 있지 않다 고려 이제까지 대부분의 혼란 유효성 검사 오류를 Friendly 역할에 대한 나의 모델은 다음과 같습니다 방법 적 (친절한 ID가, 동반

class Role < ActiveRecord::Base 
    validates :role, presence: true 

    extend FriendlyId 
    friendly_id :role, use: [:slugged, :history] 
end 

을 그래, 난 적절한 마이그레이션이 ..

class AddSlugToRoles < ActiveRecord::Migration 
    def change 
    add_column :roles, :slug, :string 
    add_index :roles, :slug 
    end 
end 

지금 공장 소녀를 만들 수 있습니다) ... 너무 그 살펴 봅시다

FactoryGirl.define do 
    factory :adminRole, :class => 'Role' do 
    role "Admin" 
    end 

    factory :userRole, :class => 'Role' do 
    role "User" 
    end 
end 

마지막으로 스펙을 작성하고 우리가 역할을 만들 수 있는지 확인 할 수 있습니다 :

context "Validation checks" do 
    it "validates a role object" do 
     FactoryGirl.build(:adminRole).should be_valid 
    end 
    end 

우리는 다음의 실패 메시지를 얻을 : 내가 뭘 미안 해요

1) Role Validation checks validates a role object 
    Failure/Error: FactoryGirl.build(:adminRole).should be_valid 
     expected #<Role id: nil, role: "Admin", created_at: nil, updated_at: nil, slug: "admin"> to be valid, but got errors: Friendly is reserved 
    # ./spec/models/role_spec.rb:14:in `block (3 levels) in <top (required)>' 

를? Friendly이라는 단어는 어디에 사용합니까? 아 맞네, 나는 아니야. 도와주세요.

답변

1

단어 admin의 사용은 예약 된 것으로 간주됩니다. 또한도 예약되어

config.reserved_words = %w(new edit index session login logout users admin stylesheets assets javascripts images)

같은 다른 단어의 톤을 프로그래머.