レール 3.2.3、ルビー 1.9.3p194
HABTM に関連付けられたサブプロジェクトを含むプロジェクトを保存しようとすると、マザー プロジェクトと関連する各サブプロジェクトの Name 属性を呼び出して、デフォルトで生成された SQL を上書きします。関連するサブプロジェクト名を正しく指定するにはどうすればよいですか? #{record.Name} は、例のように NameError: undefined local variable or method `record' for # につながります
has_and_belongs_to_many :subproject, :class_name => "Project",
:join_table => "project_subproject", :foreign_key => "projectname", :association_foreign_key => "subprojectname",
:finder_sql => proc { %{SELECT `project`.* FROM `project` INNER JOIN `project_subproject` ON `project`.`name` = `project_subproject`.`subprojectname` WHERE `project_subproject`.`projectname` = '#{self.Name}' } },
#TODO: find correct expression for insert sql
:insert_sql => proc { %{INSERT INTO `project_subproject` (`projectname`, `subprojectname`) VALUES ( "#{self.Name}","#{record.Name}" )} }
助言がありますか?