Я добавил date
в свою таблицу БД для скаффолда «Run», который, похоже, работал, см. Файл схемы БД:
create_table "runs", force: :cascade do |t|
t.integer "user_id"
t.string "Run_Type"
t.string "Location"
t.time "Start_Time"
t.decimal "Pace"
t.decimal "Miles"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.date "Run_Date"
t.index ["user_id"], name: "index_runs_on_user_id"
end
Затем я добавил «дату» в мою форму в NEW.html.erb file:
<%= form_with(model: run, local: true) do |form| %>
<% if run.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(run.errors.count, "error") %> prohibited this run from being saved:</h2>
<ul>
<% run.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="form-group">
<%= form.label :Run_Type %>
<%= form.text_field :Run_Type, class: "form-control" %>
</div>
<div class="form-group">
<%= form.label :Location %>
<%= form.text_field :Location, class: "form-control" %>
</div>
<div class="form-group">
<%= form.label :Run_Date %>
<%= form.date_select :Run_Date, class: "form-control" %>
</div>
<div class="form-group">
<%= form.label :Start_Time %>
<%= form.time_select :Start_Time, class: "form-control" %>
</div>
<div class="form-group">
<%= form.label :Pace %>
<%= form.text_field :Pace, class: "form-control" %>
</div>
<div class="form-group">
<%= form.label :Miles %>
<%= form.text_field :Miles, class: "form-control" %>
</div>
<%= form.submit class: "btn btn-primary" %>
</div>
<% end %>
Кажется, все работает, через форму появляется поле даты.Однако, когда я делаю или редактирую запись в моей БД для включения даты, она не отображается на моей странице index.html.erb, см. Ниже:
<div class="container">
<h1>Runs</h1>
<table class="table">
<thead>
<tr>
<th>User</th>
<th>Run Type</th>
<th>Location</th>
<th>Start Time</th>
<th>Pace</th>
<th>Miles</th>
<th>Date</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% @runs.each do |run| %>
<tr>
<td><%= run.user.try(:email) %></td>
<td><%= run.Run_Type %></td>
<td><%= run.Location %></td>
<td><%= run.Start_Time %></td>
<td><%= run.Pace %></td>
<td><%= run.Miles %></td>
<td><%= run.Run_Date %></td>
<td><%= link_to 'Show', run %></td>
<% if run.user == current_user %>
<td><%= link_to 'Edit', edit_run_path(run) %></td>
<td><%= link_to 'Destroy', run, method: :delete, data: { confirm: 'Are you sure?' } %></td>
<% end %>
</tr>
<% end %>
</tbody>
</table>
<br>
<% if user_signed_in? %>
<%= link_to 'New Run', new_run_path %>
<% end %>
</div>
В качестве визуального отображения см. Экранзахватить ниже.Хотя все эти записи были обновлены и теперь включают даты, они теперь отображаются в таблице: