Ruby on rails Rails如何使用has\u many\u和属于\u many,并接受\u嵌套的\u属性

Ruby on rails Rails如何使用has\u many\u和属于\u many,并接受\u嵌套的\u属性,ruby-on-rails,many-to-many,nested-attributes,Ruby On Rails,Many To Many,Nested Attributes,我有两种型号: 路线和活动 我通过迁移在它们之间建立了一种多对多的关系,这种迁移看起来像: class ActivitiesRoutes < ActiveRecord::Migration def up create_table :activities_routes, :id => false do |t| t.integer :route_id t.integer :activity_id en

我有两种型号:

路线和活动

我通过迁移在它们之间建立了一种多对多的关系,这种迁移看起来像:

class ActivitiesRoutes < ActiveRecord::Migration
    def up
        create_table :activities_routes, :id => false do |t|
            t.integer :route_id
            t.integer :activity_id
        end
    end
end
但我有一个错误:

undefined method `activities_attributes' for #<Route:0x2bccf08>
未定义的方法“活动\属性”#
如果我像这样离开它:

ruta.activities_attributes << @activitiesarray
ruta.activities\u属性您不能这样做

ruta.activities_attributes << @activitiesarray
你不能这么做

ruta.activities_attributes << @activitiesarray

很抱歉,我错过了一个问题的更正,当我将其保留为“=”时,我得到:未定义的方法“activities\u attributes”,用于#更新了问题:)既然您提到了它,您正在使用的habtm不适用于
接受嵌套属性我是否可以使用has\u many and:through来创建联接表而不是迁移?是的,在联接表中添加更多详细信息时,您应该使用has\u many through。您还应该使用迁移来创建联接表。很抱歉,我错过了一个关于该问题的更正,当时我将其保留为“=”I get:undefined method`activities\u attributes',用于#更新了问题:)既然您提到了它,您正在使用的habtm不适用于接受嵌套属性我是否可以使用has\u many and:through来创建联接表而不是迁移?是的,在联接表中添加更多详细信息时,您应该使用has\u many through。您还应该使用迁移来创建联接表。
ruta.activities_attributes << @activitiesarray
undefined method `with_indifferent_access' for #<Activity:0x6af7400>
ruta.activities_attributes << @activitiesarray
ruta.activities_attributes = @activitiesarray