gpt4 book ai didi

ruby-on-rails - 如何通过 form_for rails 传递对象?

转载 作者:行者123 更新时间:2023-12-03 22:40:35 25 4
gpt4 key购买 nike

我有一个问题。有一种形式,需要传递两个值和两个对象(teamh,teamq)。

<%= form_for (Score.new) do |f| %>
<p>

<%= f.hidden_field :team1, value: teamh %>
<%= f.hidden_field :team2, value: teamq %>

<%= f.text_field :team1_score %>
<%= f.text_field :team2_score %>
</p>
<p><%= f.submit "Submit" %></p>
<% end %>

试图通过隐藏字段的对象。但是他们是以这种形式传递的

 <input id="score_team1" name="score[team1]" type="hidden" value="#&lt;Team:0x00000002db46b8&gt;" />
<input id="score_team2" name="score[team2]" type="hidden" value="#&lt;Team:0x00000003335380&gt;" />

如何通过 form_for rails 传递对象?

最佳答案

value: 选项设置为 teamh 最终会在每个实例上调用 #to_s 方法,从而导致 #< ;Team:0x00000002db46b8> 你看到的是乱码。您应该传递一些唯一标识每个团队的标识符,例如他们的数据库 ID。例如,您可以将其更改为:

    <%= f.hidden_field :team1_id, value: teamh.id %>
<%= f.hidden_field :team2_id, value: teamq.id %>

在您的接收操作中,您的 Controller 代码可能如下所示:

k = Team.find params[:team1_id]
d = Team.find params[:team2_id]

Score.create team1: d, team2: k, team1_score: 1, team2_score: 3

关于ruby-on-rails - 如何通过 form_for rails 传递对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15781207/

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