has_many field_for和嵌套属性



我正在尝试使用一个简单的应用程序学习嵌套属性。

 class Ticket < ActiveRecord::Base
   has_many :avatars
   accepts_nested_attributes_for :avatars
 end
 class Avatar < ActiveRecord::Base
   belongs_to :ticket
 end
 <%= form_for @ticket do |f| %>
  <%= f.label :name %> 
  <%= f.text_field :name %>
  <%= f.label :description %>
  <%= f.text_field :description %>
  <%= f.fields_for :avatar**s** do |m| %>
    <%= m.label :name %>
    <%= m.text_field :name %>
  <% end %>
  <%= f.button :submit, class: "btn btn-primary" %>
  <% end %>

使用 :avatars(复数),字段不显示,而是适用于:

  <%= f.fields_for :avatar do |m| %>

我错过了什么?

编辑

谢谢大家。

我发现问题:在票务控制器上

      def new
       @ticket = Ticket.new
       @ticket.avatars.build #before this line is missing
      end

现在我不知道如何在视图中显示这个嵌套值

     @ticket.comments.name 

给我头像控制器上未定义的方法"名称"

好吧,您当时正在创建一个头像,因为您必须使用单数。

如果要遍历多个头像,则必须使用foreach,<% @ticket.avatars.each do %>

另外,看看:http://www.createdbypete.com/articles/working-with-nested-forms-and-a-many-to-many-association-in-rails-4/

相关内容

  • 没有找到相关文章

最新更新