Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 如何将选择选项与数据库值进行比较?_Ruby On Rails 4_Cucumber_Capybara - Fatal编程技术网

Ruby on rails 4 如何将选择选项与数据库值进行比较?

Ruby on rails 4 如何将选择选项与数据库值进行比较?,ruby-on-rails-4,cucumber,capybara,Ruby On Rails 4,Cucumber,Capybara,在我的模型中有一个名为State的类,在我的页面中有一个states select组合框。我需要创建一个步骤定义,将数据库中的值与组合框中的值进行比较 我已经能够通过它的ID找到组合框,但是我找不到一种方法来比较每个选项 expect(page.find_by_id('patient_state_id')) 我如何才能做到这一点?我已经能够用以下代码解决这个问题: Given(/^I am an application user$/) do end When(/^I display the

在我的模型中有一个名为State的类,在我的页面中有一个states select组合框。我需要创建一个步骤定义,将数据库中的值与组合框中的值进行比较

我已经能够通过它的ID找到组合框,但是我找不到一种方法来比较每个选项

expect(page.find_by_id('patient_state_id'))

我如何才能做到这一点?

我已经能够用以下代码解决这个问题:

Given(/^I am an application user$/) do
end

When(/^I display the patient registration form$/) do
  visit('/patients/new')
end

Then(/^I should be able see the list of registered states$/) do
  states = State.pluck(:description)

  page.find_by_id('patient_state_id').all('option').each do |el|
    expect(states).to include(el.text)
  end

end