轨道上的拼音 - 设计嵌套属性表单字段不显示



我在查看表单中的嵌套属性字段时遇到问题。我在jobs/new视图中,我想要一个创建作业和用户的用户表单。

我在这个答案中拥有所有内容 Rails 4.0 与 Devise.嵌套属性 不允许的参数

我还检查了这个嵌套属性没有以简单形式显示

但是后一个答案已经适用于我的代码,并且没有显示。我的代码:

工作模式

belongs_to :user

用户模型

has_many :jobs
accepts_nested_attributes_for :jobs
devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable, :confirmable

作业/新视图

<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
  <%= devise_error_messages! %>

  <%= f.fields_for :jobs do |builder| %>
    <%= render "job_detail_fields", :f => builder %>
  <% end %>
  <%= f.email_field :email, placeholder: "Enter email", class: "full-width form-field" %>
<% end %>

_job_details_fields

<%= f.text_area :job_description, placeholder: "Job description..." %>

:job_description text_area未显示。如果我将嵌套属性表单更改为类似 f.fields_for :job 的内容,它将显示,但在提交表单时,我收到不允许的参数作业作为错误。我很确定jobs是正确的,但我不知道为什么它没有显示。有什么想法吗?

啊,

越过轨道投射,看起来我需要build:job_description。

这在我的作业控制器中修复了它1.times { @resource.jobs.build }

作业控制器

def new
    @resource ||= User.new
    1.times { @resource.jobs.build }
end

相关内容

  • 没有找到相关文章

最新更新