0

following error i am getting

   And I am exists as a parent      # features/step_definitions/kid_steps.rb:106
   undefined local variable or method `role' for #<Cucumber::Rails::World:0xc4722f8> (NameError)
  ./features/step_definitions/event_steps.rb:10:in `create_visitor'
  ./features/step_definitions/event_steps.rb:14:in `create_user'
  ./features/step_definitions/kid_steps.rb:107:in `/^I am exists as a parent$/'
  features/manage_kids.feature:11:in `And I am exists as a parent'

ユーザー工場

          FactoryGirl.define do

           factory :user do
             email "user@example.com"
             password "test123"
             password_confirmation "test123"
          end
          factory :role do
             id "1"
             name "admin"

             id "2" 
             name "parent"

             id "3" 
             name "gifter"
          end
       end </code>

user.rb

    def role?(role)
       return !!self.roles.find_by_name(role.to_s)
    end

ability.rb

   class Ability
     include CanCan::Ability

     def initialize(user)

      user ||= User.new #user

        entities = [Kid, Customer, Event, Contact]

         # check if user is 'admin' grant all permissions
       if user.role? :admin
        can :manage, :all
      else
       can :manage, entities
      end

    end
  end

#event_steps.rb

       def create_visitor

             @visitor ||= { :email => "user@example.com",
             :password => "test123", 
             :password_confirmation => "test123", 
             :role => Role.find_by_name(role.to_s)}
      end

私は自分で問題を解決するために多くのことを試みましたが、Googleも検索しましたが、解決できませんでした.Ruby on Railsとキュウリも初めてです.間違っている場合はご案内ください.助けていただければ幸いです。ありがとうございました

4

1 に答える 1