gpt4 book ai didi

ruby-on-rails - rails 中的嵌套表单 - 在 has_many 关系中访问属性

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

我有一个用户和一个配置文件模型。一个用户可以拥有多个配置文件。在用户创建过程中,我只需要从我的用户模型中的配置文件部分(即电话号码)访问一个信息。因此,我试图通过 attr_accessible 完成它.我的 user.rb 看起来像这样。

has_many :profiles
attr_accessible :handle, :email, :password, :profile_mobile_number
attr_accessor : :profile_mobile_number

我面临的问题是,当我尝试在 user.rb 中的一个方法中调用 getter 方法 profile_mobile_number(该方法是私有(private)的,尽管我认为这无关紧要)时,我得到一个 null值(value)。我在我的 users/new.html.erb 表单中使用以下内容

我的问题是这样做的正确方法是什么?我应该使用 <% f.fields_for :profile do |ff| -%> 吗?或 <% f.fields_for :profiles do |ff| -%> (注意第二个是复数)。当我使用复数 :profiles 时,我什至看不到表单上的字段。我在这里错过了什么?模型 user.rb 中需要使用什么时态? :profile_phone_number 或 :profiles_phone_number?谢谢。

最佳答案

您可以执行以下操作:

<% form_for @user, :url => { :action => "update" } do |user_form| %>
...
<% user_form.fields_for :profiles do |profiles_fields| %>
Phone Number: <%= profiles_fields.text_field :profile_mobile_number %>
<% end %>
<% end %>

但是既然你已经有了关联,那么不妨使用'accepts_nested_attributes_for '

关于ruby-on-rails - rails 中的嵌套表单 - 在 has_many 关系中访问属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2249160/

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