Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails嵌套表单未呈现_Ruby On Rails_Ruby_Rails Activerecord - Fatal编程技术网

Ruby on rails Rails嵌套表单未呈现

Ruby on rails Rails嵌套表单未呈现,ruby-on-rails,ruby,rails-activerecord,Ruby On Rails,Ruby,Rails Activerecord,我猜这是一个更基本的问题,而不仅仅是表单没有呈现,但现在它来了。我会尽量保持简短,但可能需要相当多的上下文 我正在制作一个定制的Rolodex应用程序,组织给了我一些具体的东西。对于这个特定的问题,我只处理联系电子邮件。理想情况下,我会有一个像谷歌联系人这样的系统,你可以点击添加另一个电子邮件字段,并有一个下拉列表来选择一个类别家庭、工作等 在本例中,类别来自名为categories的表。下面是我为整个项目制作的实体关系图的链接,不仅仅是电子邮件: 总结:如何设置允许在联系人创建/编辑期间输入电

我猜这是一个更基本的问题,而不仅仅是表单没有呈现,但现在它来了。我会尽量保持简短,但可能需要相当多的上下文

我正在制作一个定制的Rolodex应用程序,组织给了我一些具体的东西。对于这个特定的问题,我只处理联系电子邮件。理想情况下,我会有一个像谷歌联系人这样的系统,你可以点击添加另一个电子邮件字段,并有一个下拉列表来选择一个类别家庭、工作等

在本例中,类别来自名为categories的表。下面是我为整个项目制作的实体关系图的链接,不仅仅是电子邮件:

总结:如何设置允许在联系人创建/编辑期间输入电子邮件

这是我的相关代码:

型号/contact.rb

视图/联系人/_form.html.erb

我还确认整个设置是手动进行的。我可以创建联系人和类别,然后在创建新电子邮件时通过手动输入外来ID正确引用它们。这里的问题是把这个过程浓缩成一种形式

如有任何意见,将不胜感激,谢谢

变化:

 <% f.fields_for @email do |email| %>
进入


啊,我真不敢相信这就是问题所在!我想我是从某个地方抄来的,从来没有检查过。接下来的问题是,我打电话给Email.new时如何引用参数?email_params为nil,调用contact_参数表示,即使我将其包含在params中,电子邮件也是不允许的。require:contact.permit不确定我是否理解正确,但通常您应该具有类似params的内容。require:contact.permitemail_属性:[:category_id,:email]
class Email < ActiveRecord::Base
  belongs_to :contact
  belongs_to :category
end
# GET /contacts/new
  def new
    @contact = Contact.new
    @email = @contact.emails.build(params[:email])
  end
<%= form_for(@contact) do |f| %>

    #Other contact fields here

    <% f.fields_for @email do |email| %>
        <div class="field">
          <%= email.label :category_id %><br>
          <%= email.text_field :category_id %><br/>
        </div>
        <div class="field">
          <%= email.label :email %><br>
          <%= email.text_field :email %><br/>
        </div>
    <% end %>
    <div class="actions">
      <%= f.submit %>
    </div>
<% end %>
 <% f.fields_for @email do |email| %>
 <%= f.fields_for @email do |email| %>