我正在尝试开发一个简单的运动日志应用程序,而且我再次陷入困境。用户选择类别和特定锻炼,然后返回属于该锻炼的锻炼列表。
努力是用户特定的练习实例。
class Exercise < ActiveRecord::Base
has_many :efforts
end
class Effort < ActiveRecord::Base
belongs_to :exercise
end
我正在努力控制器中检索练习列表
class EffortsController < ApplicationController
def log_workout
@exercises = Exercise.where("category_id = ? AND workout_id = ?", params[:exercise][:category_id], params[:exercise][:workout_id])
@effort = Effort.new
end
end
用户使用以下表格记录他们的锻炼
<%= form_tag save_workout_path, method: :put do %>
<table>
<tr>
<th>Exercise</th>
<th>Sets</th>
<th>Reps</th>
</tr>
<% @exercises.each do |exercise| %>
<%= fields_for "efforts[]", @effort do |f| %>
<tr>
<td><%= exercise.name %></td>
<td><%= f.number_field :sets %></td>
<td><%= f.number_field :reps %></td>
<%= f.hidden_field :exercise_id, :value => exercise.id %>
</tr>
<% end %>
<% end %>
</table>
<%= submit_tag "Log it" %>
<% end %>
class EffortsController < ApplicationController
def create
params[:efforts].each do |values|
if current_user.efforts.create(values)
flash[:notice] = 'Efforts were successfully saved.'
else
render action: 'new'
end
end
end
end
这是多么正确,我不确定,但它确实有效。我现在的问题是尝试检索已保存的“努力”并允许它们通过相同的表单进行修改。 (让用户编辑他们的锻炼日志)。非常感谢任何指导/帮助