gpt4 book ai didi

ruby-on-rails - 将额外结果添加到关联收集代理结果

转载 作者:行者123 更新时间:2023-12-04 05:40:25 27 4
gpt4 key购买 nike

我有两个模型,

class User < ActiveRecord::Base
has_many :posts
end

class Post < ActiveRecord::Base
belongs_to: user
end

我正在使用 formtastic gem,请考虑 users_controlleredit 操作。所有必需的 user 和关联的 posts 属性将由 formtastic form 预填充

代码:

<%= semantic_form_for @user do |f| %>

<%= f.input :name %>

<%= f.inputs :posts do |p| %>
<%= p.input :title %>
<%= p.input :comment %>
<% end %>

<% end %>

例如,我有一个 @user 和两个 posts 关联。在执行 @user.posts 时,结果如下。

 [
[0] #<Post:0x0000000aa53a20> {
:id => 3,
:title => 'Hello World',
:comment => 'Long text comes here'
},
[1] #<Post:0x0000000aa53a41> {
:id => 5,
:title => 'Hello World 2',
:comment => 'Long text comes here too'
}
]

因此表单将包含两个要编辑的帖子字段。

实际上,我想要在这两个帖子之前再添加一个空白的帖子表单。

这可以很容易地通过在第 0 个位置插入一个新的空 post 对象到 @object.posts 结果来实现。

所以,我想要的 @object.posts 结果应该完全像,

    [
[0] #<Post:0x0000000aa53a50> {
:id => nil,
:title => nil,
:comment => nil
},
[1] #<Post:0x0000000aa53a20> {
:id => 3,
:title => 'Hello World',
:comment => 'Long text comes here'
},
[2] #<Post:0x0000000aa53a41> {
:id => 5,
:title => 'Hello World 2',
:comment => 'Long text comes here too'
}
]

@user.posts 获取此结构的任何解决方案?

最佳答案

#edit 操作中执行如下操作:

def edit
#... your code
@user.posts << Post.new
end

关于ruby-on-rails - 将额外结果添加到关联收集代理结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31291651/

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