【问题标题】:Nested model form fields not appearing嵌套模型表单字段未出现
【发布时间】:2014-05-27 00:44:42
【问题描述】:

我在 Job 和 Address 之间有一个 has_many belongs_to 关系

class Job < ActiveRecord::Base
has_many :addresses
accepts_nested_attributes_for :addresses
end

class Address < ActiveRecord::Base
belongs_to :job
end

在 Job 表单中,我插入了适当的文本字段:

  <%= f.fields_for :addresses do |address| %>
  <%= address.label :label, "Label" %>
  <%= address.text_field :label %>

  <%= address.label :addy, "Address" %>
  <%= address.text_field :addy %>

  <%= address.label :apt, "Apt/Suite/etc" %>
  <%= address.text_field :apt %>

  <%= address.label :city, "City" %>
  <%= address.text_field :city %>

  <%= address.label :state, "State" %>
  <%= address.text_field :state %>

  <%= address.label :zip, "Zip code" %>
  <%= address.text_field :zip %>

  <% end %>

但是这些字段没有出现。我错过了什么吗?

编辑:从 Jobs 控制器添加了创建操作

def create
@job = Job.new(job_params)
@job.addresses.build
@job.user_id = current_user.id

if @job.save 
    render 'show'
else
    render 'new'
end

end

【问题讨论】:

    标签: ruby-on-rails forms nested-attributes


    【解决方案1】:

    您的Controller 是什么样的?您是否正在为Job 建立地址?

    例如,您需要在控制器中的 new 操作中执行以下操作:

    def new
       @job = Job.new
       @job.addresses.build
    end
    

    我希望这会有所帮助。

    【讨论】:

    • 我从 Jobs 控制器添加了创建操作。我的创建操作中有 job.addresses.build。面团!非常感谢!
    • 没问题!很高兴我能帮忙:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多