:destroy accepts_nested_attribute-6ren">
gpt4 book ai didi

ruby-on-rails - rails has_one 关联 fields_for 表单不显示

转载 作者:行者123 更新时间:2023-12-04 01:42:54 26 4
gpt4 key购买 nike

我有一个 session 模型:

class Meeting < ActiveRecord::Base
has_one :location, :class_name => "MeetingLocation", :dependent => :destroy
accepts_nested_attributes_for :location

然后我有一个 MeetingLocation 模型:
class MeetingLocation < ActiveRecord::Base
belongs_to :meeting

我的新 session 表格:
<%= form_for @meeting do |f| %>
<%= f.label :location %>
<%= fields_for :location do |l| %>
Name <%= l.text_field :name %>
Street <%= l.text_field :street %>
City <%= l.text_field :city, :class => "span2" %>
State <%= l.select :state, us_states, :class => "span1" %>
Zipcode <%= l.text_field :zip, :class => "span1" %>
<% end %>

当我查看新的 session 表格时,地点字段是空白的!我只看到位置标签,但没有看到其他位置字段。在过去的 3 个小时里,我一直在寻找解释,发现了很多类似的问题,但没有运气。

谢谢。

最佳答案

位置字段未显示的原因是当您使用 @meeting = Meeting.new 创建新 session 时,此 session 还没有关联的 MeetingLocation。如果你调用@meeting.location,你会得到零。出于这个原因,表单不会显示该位置的字段。

要解决此问题,您应该调用 @meeting.build_location创建新 session 后。这会将新 session 与空白位置相关联。

编辑:尝试更改 fields_forf.fields_for

关于ruby-on-rails - rails has_one 关联 fields_for 表单不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11042029/

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