У меня есть класс PostDecorator
в app/decorators/post_decorator.rb
. У него есть метод, который вызывает метод Devision current_user
. Это выглядит следующим образом:Draper Decorator spec не в состоянии использовать Devise current_user метод
class PostDecorator < Draper::Decorator
delegate_all
def voter
h.current_user
end
end
У меня есть PostDecorator
спецификации в spec/decorators/post_decorator_spec.rb
require 'spec_helper'
describe PostDecorator, type: :decorator do
let(:post) { FactoryGirl.create(:post) }
let(:user) { FactoryGirl.create(:user) }
before { allow(helper).to receive(:current_user) { user } }
describe 'voter' do
it 'returns the current_user' do
expect(post.voter).to eq user
end
end
end
Когда я запускаю это я получаю неопределенную ошибку методы:
<Draper::HelperProxy:0x007fb1c4f85890 ... does not implement: current_user
Gem Версия:
- draper (1.4.0)
- RSpec рельсы (3.4.1)
- DEViSE (3.5.5)
Также следует отметить все, что в моем app/lib
директории автоматически загружена. В application.rb
У меня есть config.autoload_paths << Rails.root.join('lib')
просто наблюдение, но его вопрос, похоже, не имеет никакого отношения к почтовой программе любого рода, насколько я могу судить. Или я что-то пропустил? – MilesStanfield
@MilesStanfield Если пользовательский объект не имеет подтвержденного значения, Devise выдает подтверждение по электронной почте. Вопрос, который я связал, также лучше документирует. – Hunter