gpt4 book ai didi

ruby-on-rails - Rails link_to new 参数不保存参数

转载 作者:数据小太阳 更新时间:2023-10-29 08:12:13 25 4
gpt4 key购买 nike

所以,我有两个对象,Floor,它有_many FloorMonsters,和 FloorMonster,它属于 Floor。

我在 Floor 的显示页面中有一个 link_to new_floor_monster_path,我打算将 Floor id 作为参数传递。 link_to 目前看起来像这样:

= link_to "Add a Monster to this Floor", new_floor_monster_path(floor_id: @floor.id)

在 FloorMonster 的 Controller 中,新方法是这样的:

def new
@floor_monster = FloorMonster.new(floor_id: params[:floor_id])

respond_to do |format|
format.html # new.html.erb
format.json { render json: @floor_monster }
end
end

当我点击链接时,URL 显示参数:

http://.../floor_monsters/new?floor_id=4

但是当我保存时,floor_id 为 nil,程序崩溃了。我在这里错过了什么?我已经找到了完全按照我的方式做的消息来源,但我没有成功。 The accepted answer herethis blog post据我所知,他们正在做我正在做的事情,但他们设法让它发挥作用。

最佳答案

我假设您在表单中公开新的 FloorMonster 以允许设置其他属性然后保存它。为了将 floor_id 属性传递给创建操作,您需要为其在表单中添加一个字段。如果您不希望它被看到或被编辑,请使用 hidden_​​field。在您的表单中,添加:

= f.hidden_field :floor_id

关于ruby-on-rails - Rails link_to new 参数不保存参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25273942/

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