【发布时间】:2013-01-31 22:03:25
【问题描述】:
我已经阅读了几乎所有关于通过关联使用 has_many 嵌套表单的问题,但我无法让我的模型工作。有人可以帮忙吗?
有 2 种模型:原型和裙子偏好,通过裙子偏好模型链接。
以下是模型:
class Archetype
has_many :skirtpreferences has_many :SkirtPreferences, :through => :skirtpreferences 接受_nested_attributes_for :SkirtPreferences 接受_nested_attributes_for :skirtpreferences 结束
块引用
类 Skirtpreferencing
belongs_to :archetype belongs_to :SkirtPreferences
Accept_nested_attributes_for :SkirtPreferences结束
类 SkirtPreference
has_many :skirtpreferences has_many :archetypes, :through => :裙子偏好
结束
表单看起来像这样,显示得很好:
... builder %> ...
我想我必须在控制器中做一些事情,但我不确定具体是什么。
谢谢!
添加控制器:
class ArchetypesController < ApplicationController
def new
@archetype = Archetype.new
@archetype.skirtpreferencings.build
end
# GET /archetypes/1/edit
def edit
@archetype = Archetype.find(params[:id])
end
def create
@archetype = Archetype.new(params[:archetype])
end
class SkirtPreferencesController < ApplicationController
def new
@skirt_preference = SkirtPreference.new
end
def edit
@skirt_preference = SkirtPreference.find(params[:id])
end
def create
@skirt_preference = SkirtPreference.new(params[:skirt_preference])
end
【问题讨论】:
-
是否为 ArchetypesController 中的
new方法生成了表单? -
请将您的代码删减到问题部分。
标签: ruby-on-rails ruby nested-forms has-many-through