Ruby on rails 不能理解有一个关系

Ruby on rails 不能理解有一个关系,ruby-on-rails,activeadmin,Ruby On Rails,Activeadmin,我在理解之间的关系时遇到一些问题 我有两种型号Planning和Sport。Planning与一个Sport有关,而Sport可以在许多Planning中找到。因此,我将我的计划定义为: class Planning ... has_one :sport ... end 我没有在Sport中添加任何关于规划的内容。 在我看来,这将允许我访问planning.sport,但我不介意找不到sport.plannings(这毫无意义) 问题是,当我尝试使用我的Activ

我在理解
之间的关系时遇到一些问题

我有两种型号
Planning
Sport
Planning
与一个
Sport
有关,而
Sport
可以在许多
Planning
中找到。因此,我将我的
计划定义为:

class Planning 
    ...  
    has_one :sport
    ...
end
我没有在
Sport
中添加任何关于
规划的内容。
在我看来,这将允许我访问
planning.sport
,但我不介意找不到
sport.plannings
(这毫无意义)

问题是,当我尝试使用我的
ActiveAdmin
界面创建新的
Planning
时,我在尝试访问
plannings/new
页面时出现以下错误:

undefined method `planning_id' for #<Planning:0x30d8570>
未定义的方法“规划id”#
我的理解是,它在
Sport
中检查
planning\u id
是否存在,但我的理解是
planning
中只有一个
Sport\u id
,而不是相反

我做错了什么?我需要使用中介模型吗?此jsut是否链接到
ActiveAdmin

谢谢

你需要的是

class Planning 
    ...  
    belongs_to :sport
    ...
end

class Sport

   has_many: plannings
end
你可以这样想,谁有外键就像孩子一样。因此,在这里,规划是体育的外键。所以它是运动的产物,属于运动。

你需要的是

class Planning 
    ...  
    belongs_to :sport
    ...
end

class Sport

   has_many: plannings
end
你可以这样想,谁有外键就像孩子一样。因此,在这里,规划是体育的外键。所以它是运动的产物,属于运动。

你需要的是

class Planning 
    ...  
    belongs_to :sport
    ...
end

class Sport

   has_many: plannings
end
你可以这样想,谁有外键就像孩子一样。因此,在这里,规划是体育的外键。所以它是运动的产物,属于运动。

你需要的是

class Planning 
    ...  
    belongs_to :sport
    ...
end

class Sport

   has_many: plannings
end

你可以这样想,谁有外键就像孩子一样。因此,在这里,规划是体育的外键。所以它是运动的产物,属于运动。

哇,我真不敢相信这是如此简单。。。谢谢Vimsha!我确信我已经测试过了。我意识到要完全理解Rails的逻辑,我还有很多工作要做!哇,真不敢相信这么简单。。。谢谢Vimsha!我确信我已经测试过了。我意识到要完全理解Rails的逻辑,我还有很多工作要做!哇,真不敢相信这么简单。。。谢谢Vimsha!我确信我已经测试过了。我意识到要完全理解Rails的逻辑,我还有很多工作要做!哇,真不敢相信这么简单。。。谢谢Vimsha!我确信我已经测试过了。我意识到要完全理解Rails的逻辑,我还有很多工作要做!