ええと、これまでで最も紛らわしい検証エラーです。Friendly
ロールのモデルが次のように見えるという言葉を使用していないことを考えると、
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
か? そうです、そうではありません。助けてください。