Я преобразовал некоторый код Ruby в HTML, чтобы я мог использовать Bootstrap, но теперь он говорит мне, что он не попадает на нужную страницу - но это так.
Ошибка показывает, что он прибывает в /путь create_exercise, но когда я запускаю приложение RoR, оно действительно идет по пути / create_workout, когда я отправляю форму на странице (с кнопкой submit_tag «Enter»).Пробовал переключить эту строку на код Ruby, но все равно не получилось, так что это не кнопка отправки.
Вот ошибка огурца:
Scenario: I enter a new exercise # features/create_exercise.feature:15
Given I login and am on the create exercise page # features/step_definitions/generic_steps.rb:76
When I enter "Sit ups" into "name" # features/step_definitions/generic_steps.rb:131
And I choose "Cardio" # features/step_definitions/generic_steps.rb:119
And I press "Enter" # features/step_definitions/generic_steps.rb:113
Then I should be on the create workout page # features/step_definitions/generic_steps.rb:82
current_path: /create_exercise
should_path: /create_workout
expected: "/create_workout"
got: "/create_exercise" (using ==) (RSpec::Expectations::ExpectationNotMetError)
./features/step_definitions/generic_steps.rb:87:in `/^(?:|I )should be on (.+)$/'
features/create_exercise.feature:21:in `Then I should be on the create workout page'
(0.2ms) rollback transaction
Вот исходный код, который передал огурецtest:
<p>
Create Exercise:<br />
<%= form_tag process_create_exercise_path, :method => :post do %>
<%= label_tag 'Name:' %>
<%= text_field_tag 'name', '', :maxlength => 140, :autocomplete => 'off' %><br />
<b>Category:</b><br />
<%= radio_button_tag(:category, "Cardio") %>
<%= label_tag(:cardio, "Cardio") %>
<%= radio_button_tag(:category, "Strength") %>
<%= label_tag(:strength, "Strength") %><br />
<b>Everything below this is optional:</b><br />
<%= label_tag 'Description:' %>
<%= text_field_tag 'description', '', :maxlength => 140, :autocomplete => 'off' %><br />
<%= label_tag 'Muscle Group:' %>
<%= text_field_tag 'musclegroup', '', :maxlength => 140, :autocomplete => 'off' %><br />
<%= submit_tag 'Enter' %>
<% end %>
</p>
<%= render :template => 'homepage/template' %>
Вот мой новый (более красивый) код, но он вызывает ошибку выше:
<html>
<body>
<legend>Create Exercise:</legend>
<fieldset>
<div class="form-group">
<%= form_tag process_create_exercise_path, :method => :post do %>
<label for="name">Name:</label>
<input type="text" name="name" class="form-control" id="name" value="" maxlength="140" autocomplete="off" placeholder="Enter name of exercise">
</div>
<div class="form-group">
<label for="category_select">Category:</label>
<div class="form-check" id="category_select">
<label class="form-check-label">
<input type="radio" name="category" id="category_Cardio" value="Cardio" class="form-check-input">
Cardio
</label>
</div>
<div class="form-check">
<label class="form-check-label">
<input type="radio" name="category" id="category_Strength" value="Strength" class="form-check-input">
Strength
</label>
</div>
</div>
<div class="form-group">
<label for="description">Description:</label>
<input type="text" name="description" id="description" value="" maxlength="140" autocomplete="off" placeholder="optional">
<label for="muscle_group">Muscle Group:</label>
<input type="text" name="muscle group" id="muscle_group" value="" maxlength="140" autocomplete="off" placeholder="optional">
<!--<input class="btn btn-primary" type="submit" name="commit" value="Enter">-->
<%= submit_tag "Enter" %>
</div>
<% end %>
</fieldset>
</body>
<%= render :template => 'homepage/template' %>
</html>