无法获得多模型形式的工作

时间:2011-01-15 15:52:53

标签: ruby-on-rails forms

我有一个Appointment模型,其中每个Appointment都有一个client_id。创建Appointment时,我希望用户能够在自动填充字段中键入客户端的名称,以便在用户输入的名称中没有Client时创建新Client {1}}记录。 (我在其他框架中完成了同样的事情。)

以下是我的Appointment模型的样子:

class Appointment < ActiveRecord::Base
  has_many :appointment_services
  belongs_to :client
  accepts_nested_attributes_for :client
end

这就是我的表格:

<%= form_for(@appointment) do |f| %>
  <% if @appointment.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@appointment.errors.count, "error") %> prohibited this appointment from being saved:</h2>

      <ul>
      <% @appointment.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <%= f.fields_for :client do |client_form| %>
    <div class="field">
      <%= client_form.label :name %>
      <%= client_form.text_field :name %>
    </div>
  <% end %>

出于某种原因,<%= f.fields_for :client do...内的任何内容都不会显示在屏幕上。我做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试

<%= f.fields_for @client do |client_form| %>

并且不要忘记在控制器中初始化@client