编辑多个已保存的记录

时间:2014-02-17 21:23:24

标签: ruby-on-rails

我正在尝试开发一个简单的运动日志应用程序,而且我再次陷入困境。用户选择类别和特定锻炼,然后返回属于该锻炼的锻炼列表。

努力是用户特定的练习实例。

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

这是多么正确,我不确定,但它确实有效。我现在的问题是尝试检索已保存的“努力”并允许它们通过相同的表单进行修改。 (让用户编辑他们的锻炼日志)。非常感谢任何指导/帮助

0 个答案:

没有答案