【发布时间】:2012-03-13 13:17:23
【问题描述】:
我的应用程序中有一个非常具体的场景,用户必须将 REGIONS 分配给 TERRITORY。
所以在我的路由文件中我声明了嵌套资源:
resource Territory
resource Region
end
在领土模型中我有:
class Territory
has_many :regions, :dependent => :destroy
accepts_nested_attributes_for :regions
end
对于这种情况,我需要用户能够通过更新区域模型中的区域 ID 来重新分配区域之间的区域。
所以,如果我创建一个名为“East”的区域,然后将区域“New York”和“New Jersey”分配给它,我应该能够创建另一个区域,然后将“New York”分配给它,然后应用程序只应将区域的区域 ID 更改为新的。
所有逻辑都在区域控制器中(我实际上没有区域控制器),有一小部分可能的区域(西班牙省份)静态,用户可以在编辑区域时添加或删除区域。我需要的是,当用户将一个区域添加到一个区域并且该区域已经分配给另一个区域时,而不是创建一个新区域,我希望 rails 更改该区域的区域 ID。
每当我尝试这样做时,都会收到以下错误:
无法为 ID=14 的区域找到 ID=101 的区域
有什么帮助吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 activerecord nested-attributes