gpt4 book ai didi

ruby-on-rails - 使用 dm-accepts_nested_attributes 和 dm-is-tree 的 2 个模型在 rails 中的嵌套形式

转载 作者:太空宇宙 更新时间:2023-11-03 16:58:03 28 4
gpt4 key购买 nike

我有两个模型:论坛应用程序中的帖子和图像,其中帖子使用 dm-is-tree 以父子格式排列。到目前为止,图像是 Post 模型的一部分。由于 Post 模型变得笨拙,我需要增加更多深度来标记图像,我正在努力将 Image 分离到它自己的模型中,但它仍然是输出中的 post 的一部分。

所以我开始在一个简单的安排中集成 dm-accepts_nested_attributes:

class Post
include DataMapper::Resource

property :id, Serial
property :istop, String
property :created_at, DateTime
property :updated_at, DateTime
property :content, Text

has n, :images
accepts_nested_attributes_for :images

is :tree, :order => [:istop, :created_at]

class Image

include DataMapper::Resource

property :id, Serial
property :created_at, DateTime

belongs_to :post

property :image, String, :auto_validation => false # Carrierwave image info
mount_uploader :image, ImageUploader # Carrierwave uploader

我在每个页面上都有这个表格(haml)来创建帖子:

 = form_for [@forum,Post.new], :html => {:multipart => true} do |f|
= f.hidden_field :istop, :value => "parent"
= f.text_area :content
= f.fields_for :simages_attributes do |g|
= g.file_field :image
.actions
= f.submit

进入这个 Controller :

def create
@forum = Forum.get(params[:forum_id])
@post = @forum.posts.create(params[:post])

respond_to do |format|
if @post.save
format.html { redirect_to(forum_path(@forum), :notice => 'Post was successfully created.') }
else
format.html { redirect_to(forum_path(@forum), :notice => 'There was an error in posting') }
end
end
end

发布时出现的错误:

未定义的方法[]' for #`

,一个 NoMethodError

此时我不确定我在做什么或这是从哪里来的。我不确定我是否正确设置了表单(我一直在关注类似的事件记录教程并且还没有深入研究 dm-accepts_nested 代码)。我可以通过命令行设置一些更基本的东西,但不能设置图像。我了解嵌套的基础知识,但不知道如何将其集成到我正在做的 atm 中。

也许有人知道。任何帮助表示赞赏。

最佳答案

attr_accessor : Post模型中的images_attributes,允许表单提交

但是,图像现在没有被保存,即在某处丢失并且没有被保存

关于ruby-on-rails - 使用 dm-accepts_nested_attributes 和 dm-is-tree 的 2 个模型在 rails 中的嵌套形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4495052/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com