大家好,我试图弄清楚如何处理这种情况。
我有一个模特
Class Content < Activerecord
has_many :elements
has_many :assets, :dependent => :destroy
end
我有一个表格,当然在我的控制器中
def new
@content = Content.new
end
让我们来“资产”。 素材资源是js,css之类的文件,我在表单内使用了一个jQuery小部件来上传它们。
元素很容易形成表单:我在“新表单”中创建它们。
在控制器中的实际应用中,我使用
def new
@content = Content.create
end
我创建并保存所有内容到db上,所以我有一个ID,然后使用该ID通过jquery小部件上载资产,并使用ajax发布创建页面。
使用“ Content.new”,我没有任何ID,我初始化了内容模型,也没有任何ID。
有什么解决方法吗?是否可以使用ID进行初始化并保留该ID以避免覆盖?还是我必须更改界面?
答案 0 :(得分:0)
如果您的内容将属于某个其他模型,则可以创建一个具有ID的对象!
Class Content < Activerecord
belongs_to :user
has_many :elements
has_many :assets, :dependent => :destroy
end
Class User < Activerecord
has_many :contents
end
Content.create(user_id: 1)
will return
#<Content id: 10008, user_id: 1 >
答案 1 :(得分:0)
保存空内容以创建空记录或将记录保留在数据库中。
def new
@content = Content.create
@content.save!
end
但是请注意,如果您要在数据库中保留ID /记录,则由于某种原因您的表单将失败,则需要销毁它。或者在失败时保留空白记录。