Я использую Ruby для создания проекта в Rails4, rspec и capybara. Когда я использую синтаксис let
для определения переменных в функциях Capybara, кажется, что RubyMine не может обнаружить существование переменных. Например, в этом коде ниже переменная capsuleHash
, capsuleForm
и capsuleViewPage
все не распознаются в intelliJ в разделе сценария. У кого-нибудь есть обходной путь?Поддерживает ли Rubymine синтаксис «let» в рельсах?
require 'spec_helper'
feature 'Capsules Feature' do
let(:capsuleHash) {attributes_for(:tdd_capsule)}
let(:capsuleForm) {CapsuleCreateForm.new}
let(:capsuleViewPage) {CapsuleViewPage.new}
scenario 'Add a new capsule and displays the capsule in view mode' do
visit '/capsules/new'
expect{
capsuleForm.submit_form(capsuleHash)
}.to change(Capsule,:count).by(1)
capsuleViewPage.validate_on_page
expect(page).to have_content capsuleHash[:title]
expect(page).to have_content capsuleHash[:description]
expect(page).to have_content capsuleHash[:study_text]
expect(page).to have_content capsuleHash[:assignment_instructions]
expect(page).to have_content capsuleHash[:guidelines_for_evaluators]
expect(page).to have_link 'Edit'
end
end
Можете ли вы поделиться конкретной ошибкой, которую вы получаете, и любой связанной с ней стекю? –
Нет трассировки стека Питер. Он отлично работает, когда я запускаю функцию в rspec. Проблема в том, что, поскольку RubyMine не обнаруживает существование этих переменных, я не получаю функцию автозаполнения с точками, и она помещает подстрочную линию под ней, которую я нахожу раздражающей. – Gurpreet