estoy tratando de encontrar una mejor manera de expresar mis pepinos así que estoy buscando un ordinal de la función cardinal que convierte esta:¿hay una función ordinal a cardinal en rubí o rieles?
When I fill up the first passenger field
Then I should see the passenger list update with the first passenger details
When I follow "Add Another Passenger"
Then I should see a second passenger field
When I fill up the second passenger field
Then I should see the passenger list update with the second passenger details
en algo más dinámico (en lugar de crear pasos separados para cada línea)
aquí es una muestra de mi web pasos
When /^I fill up the first passenger field$/ do
fill_in("booking_passengers_attributes_0_first_name", :with => "Blah")
fill_in("booking_passengers_attributes_0_last_name", :with => "blah")
select("5' to 6'", :from => "booking_passengers_attributes_0_height")
select("100 to 150lbs", :from => "booking_passengers_attributes_0_weight")
end
When /^I fill up the second passenger field$/ do
fill_in("booking_passengers_attributes_1_first_name", :with => "Wee")
fill_in("booking_passengers_attributes_1_last_name", :with => "Sir")
select("5' to 6'", :from => "booking_passengers_attributes_1_height")
select("150 to 200lbs", :from => "booking_passengers_attributes_1_weight")
end
ver que 0 y 1? Deseo convertir "primero" en un número cardinal para poder sustituirlo. También se puede simplemente sugerir una mejor manera de declarar los pepinos :)
RESPUESTA ACTUALIZADO estoy en el medio de refactorización pero básicamente he utilizado primera vez de primero y utilizado to_i en eso.
When /^I fill up the "([^"]*)" passenger field$/ do |id|
input_id = id.to_i - 1
fill_in("booking_passengers_attributes_#{input_id}_first_name", :with => id)
fill_in("booking_passengers_attributes_#{input_id}_last_name", :with => "Passenger")
select("5' to 6'", :from => "booking_passengers_attributes_#{input_id}_height")
select("100 to 150lbs", :from => "booking_passengers_attributes_#{input_id}_weight")
end
Sí, pensé que podría usar eso. mucho mejor sin el st | nd | rd | th embargo, podría simplemente usar n.to_i y convertirlo de inmediato en un número. ¡Gracias por el aviso! – corroded
En caso de que alguien más tenga un problema con esto, debe usar (?: St | nd | rd | th) para que no sea "| th el campo del pasajero" (que incorrectamente coincidirá con "I fill up the 1st") –