当前位置:  开发笔记 > 后端 > 正文

rails 4 has_one嵌套表单尚未构建

如何解决《rails4has_one嵌套表单尚未构建》经验,为你挑选了1个好方法。

我已经查看了有关stackoverflow和其他地方这个相当常见的问题的所有帖子,但我还没有找到答案.基本上我的嵌套表单没有构建,因此在我显示页面时不可见.

这是我的用户控制器的相关部分,users_controller.rb:

  def new
    @user = User.new
    @user.build_user_account
  end

这是我user.rb文件中的相关部分:

class User < ActiveRecord::Base
      has_one :user_account, :class_name => "UserAccount"
      accepts_nested_attributes_for :user_account

我的user_account.rb档案:

    class UserAccount < ActiveRecord::Base
      belongs_to :user
    end

这是我的_form.html.erb档案:

<%= f.label :email %>
<%= f.text_field :email %>
<%= f.label :password %>
<%= f.text_field :password %>
<%= f.label :password_confirmation %>
<%= f.text_field :password_confirmation %>
<% f.fields_for :user_account, @user.user_account do |user_account| %>
<%= user_account.label :email %> <%= user_account.text_field :email %>
<%= user_account.label :password %> <%= user_account.text_field :password %>
<%= user_account.label :password_confirmation %> <%= user_account.text_field :password_confirmation %>
<% end %>

前三个按预期显示,但三个表单字段user_account不显示.我已经尝试了一些我能在网上找到的东西,但我仍然无法解决问题所在 - 帮助将不胜感激!



1> taglia..:

我想你刚刚错过=f.fields_for线上的标志.试试这样:

<%= f.fields_for :user_account, @user.user_account do |user_account| %>

@user.user_account不是必要的,但不会造成伤害.

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有