Ruby on rails Rails嵌套表单未呈现
我猜这是一个更基本的问题,而不仅仅是表单没有呈现,但现在它来了。我会尽量保持简短,但可能需要相当多的上下文 我正在制作一个定制的Rolodex应用程序,组织给了我一些具体的东西。对于这个特定的问题,我只处理联系电子邮件。理想情况下,我会有一个像谷歌联系人这样的系统,你可以点击添加另一个电子邮件字段,并有一个下拉列表来选择一个类别家庭、工作等 在本例中,类别来自名为categories的表。下面是我为整个项目制作的实体关系图的链接,不仅仅是电子邮件: 总结:如何设置允许在联系人创建/编辑期间输入电子邮件 这是我的相关代码: 型号/contact.rb 视图/联系人/_form.html.erb 我还确认整个设置是手动进行的。我可以创建联系人和类别,然后在创建新电子邮件时通过手动输入外来ID正确引用它们。这里的问题是把这个过程浓缩成一种形式 如有任何意见,将不胜感激,谢谢 变化:Ruby on rails Rails嵌套表单未呈现,ruby-on-rails,ruby,rails-activerecord,Ruby On Rails,Ruby,Rails Activerecord,我猜这是一个更基本的问题,而不仅仅是表单没有呈现,但现在它来了。我会尽量保持简短,但可能需要相当多的上下文 我正在制作一个定制的Rolodex应用程序,组织给了我一些具体的东西。对于这个特定的问题,我只处理联系电子邮件。理想情况下,我会有一个像谷歌联系人这样的系统,你可以点击添加另一个电子邮件字段,并有一个下拉列表来选择一个类别家庭、工作等 在本例中,类别来自名为categories的表。下面是我为整个项目制作的实体关系图的链接,不仅仅是电子邮件: 总结:如何设置允许在联系人创建/编辑期间输入电
<% 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| %>