운동과 그룹 사이에 has_and_belongs_to_many
관계가 있습니다.collection_select를 사용하여 HABTM 관계에 여러 레코드 만들기 - 레일
그룹에 운동을 추가하는 데 그룹으로 사용하는 그룹이 collection_select
입니다.
문제는 HABTM 테이블에서 하나의 레코드 만 변경할 수 있으므로 하나의 레코드 만 추가 한 다음 해당 레코드를 편집 할 수 있다는 것입니다. 추가 레코드는 어떻게 추가합니까?
아이디어가 있으십니까?
show.html.erb:
<%= form_for(@group) do |f| %>
<%= f.collection_select 'workout_ids', Workout.all, :id, :name, { :include_blank => ""} %>
<%= f.submit %>
<% end %>
: 여기
몇 가지 코드입니다.class Workout < ActiveRecord::Base
attr_accessible :name, :exercises_attributes, :workout_exercises_attributes, :group_ids
has_and_belongs_to_many :groups
.
workout_id = params[:group].delete(:workout_ids)
# Adding a workout
if workout_id
workout = Workout.find(workout_id)
@group.workouts << workout
end
위의 코드는 :group
내에서 매개 변수 :group
및 :workout_id
소요 지역 변수 workout_id
작성
class Group < ActiveRecord::Base
attr_accessible :cycle_id, :name, :next_group_id, :previous_group_id, :workout_ids
has_and_belongs_to_many :workouts
이 해결 방법은 저에게 맞습니다. 그것은 문제를 해결합니다. 그러나 나는 그것을 좋아하지 않는다. – GLindqvist