folgende Zuordnungen zwischen 3 Modelle zu haben:Rails has_one Verband erwartet Modell bekam String
workout.rb
class Workout < ActiveRecord::Base
has_and_belongs_to_many :workout_sets, :join_table => :workout_sessions
belongs_to :warmup, :class_name => :WorkoutStep, :foreign_key => "workout_step_id"
accepts_nested_attributes_for :workout_sets, allow_destroy: true
accepts_nested_attributes_for :warmup, allow_destroy: true
end
workout_set.rb
class WorkoutSet < ActiveRecord::Base
has_and_belongs_to_many :workout_steps, :join_table => :sets_steps, dependent: :destroy
has_and_belongs_to_many :workouts, :join_table => :workout_sessions
accepts_nested_attributes_for :workout_steps, allow_destroy: true
has_one :intro_video_usage, class_name: 'VideoUsage::Intro', as: :parent, dependent: :destroy
has_one :intro_video, through: :intro_video_usage, source: :video
accepts_nested_attributes_for :intro_video
has_one :get_ready_video_usage, class_name: 'VideoUsage::GetReady', as: :parent, dependent: :destroy
has_one :get_ready_video, through: :get_ready_video_usage, source: :video
has_one :congrats_video_usage, class_name: 'VideoUsage::Congratulations', as: :parent, dependent: :destroy
has_one :congrats_video, through: :congrats_video_usage, source: :video
end
und
workout_step.rb
class WorkoutStep < ActiveRecord::Base
has_and_belongs_to_many :workout_sets, :join_table => :sets_steps
has_many :main_video_usage, class_name: 'VideoUsage::Main', as: :parent
has_many :main_videos, through: :main_video_usage, source: :video
accepts_nested_attributes_for :main_videos
end
Und mit simple_form und cocoon verschachtelte Modelle Schöpfung auf der obersten Ebene Modell zu handhaben (Workout
) ich Probleme habe das Formular für sets
und steps
Gebäude - prägnanter, wenn ein workout_set
Assoziieren mit intro_video
(und Whitelisting die params) ich folgende Fehlermeldung habe:
Video(#70285207226600) expected, got String(#70285080848240)
Das params
Objekt nach Aussehen Senden wie folgt:
"workout"=>{"title"=>"",
"workout_sets_attributes"=>{"0"=>{"_destroy"=>"false",
"intro_video"=>"70",
"title"=>""}}},
"image"=>"",
"sound_logo"=>"",
"intro_video"=>"",
"commit"=>"Create workout"}
Vielen Dank im Voraus.
Weiß nicht, was Sie beabsichtigten, aber sieht aus wie Ihr Code versucht und intro_video auf 70 setzen - das ist die Ursache für Ihren Fehler –
Ich versuche nur ein Video aus einer Auswahl auszuwählen und das 'intro_video 'zuzuordnen Attribut zum 'workout_set' Objekt – alexunger
Also 70 ist die ID des Videos? –