class Post < ActiveRecord::Base
validates_presence_of :name, :title
validates_length_of :title, :minimum => 5
has_many :comments
has_many :tags
accepts_nested_attributes_for :tags, :allow_destroy => :true ,
:reject_if => proc { |attrs| attrs.all? { |k, v| v.blank? } }
end
<% @post.tags.build if @post.tags.empty? %>
<% form_for(@post) do |post_form| %>
<%= post_form.error_messages %>
<p>
<%= post_form.label :name %><br />
<%= post_form.text_field :name %>
</p>
<p>
<%= post_form.label :title, "title" %><br />
<%= post_form.text_field :title %>
</p>
<p>
<%= post_form.label :content %><br />
<%= post_form.text_area :content %>
</p>
<h2>Tags</h2>
<% post_form.fields_for :tags do |tag_form| %>
<p>
<%= tag_form.label :name, 'Tag:' %>
<%= tag_form.text_field :name %>
</p>
<% unless tag_form.object.nil? || tag_form.object.new_record? %>
<p>
<%= tag_form.label :_destroy, 'Remove:' %>
<%= tag_form.check_box :_destroy %>
</p>
<% end %>
<% end %>
<p>
<%= post_form.submit "Save" %>
</p>
<% end %>
http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html
http://guides.rubyonrails.org/v2.3.11/getting_started.html
分享到:
相关推荐
比较简单的表单与表格的嵌套,只是做一个引导作用,实际意义不大,
本文将详细讲解结构体的声明、初始化以及成员变量的使用,并重点介绍结构体的嵌套使用方法。 ### 一、结构体的基本使用 #### 1. 结构体的声明和初始化 结构体的基本使用包括声明和初始化。例如,我们可以声明一个...
本教程将重点讲解如何进行多重`popwind`组合的嵌套使用,这对于新手来说是一个很好的学习机会。 首先,让我们了解`popwind`的基本概念。`popwind`(可能是对流行的Bootstrap框架的变体或者一个类似的自定义库)是一...
本篇文章将深入探讨如何在Android中实现两个ListView的嵌套使用,并基于提供的参考博客链接进行讲解。 首先,我们要明确嵌套ListView的基本概念。嵌套ListView意味着在一个ListView的每个单元格(item)内,包含另...
在表单场景中,Tab嵌套布局允许开发者将相关但不需同时展示的字段分组到不同的Tab页签下,降低用户在填写表单时的视觉压力,提高操作效率。同时,这样的设计也使得表单结构更加清晰,便于用户理解和操作。 “支持...
当需要在列表中展示另一个列表或者网格时,就会涉及到RecyclerView的嵌套使用,这通常被称为“嵌套RecyclerView”。本篇文章将深入探讨如何实现RecyclerView的嵌套,包括基本概念、配置、适配器和布局管理器的设置,...
标题中的“一个轻量级1kb包用于处理嵌套数据并使用GraphQL的复杂表单”指的是一款专门针对处理带有嵌套数据结构的复杂表单的JavaScript库。这个库的独特之处在于它仅占用1kb的大小,对于优化前端性能、减少加载时间...
在Eclipse中创建一个使用嵌套Fragment的项目,首先你需要确保你的项目已经升级到Android Support Library或者使用AndroidX库,因为嵌套Fragment功能是在Support Library中引入的。如果你的项目还停留在Eclipse,可能...
React Unform是一款专为ReactJS设计的高性能表单管理库,它专注于提供一种简便且高效的方式来构建复杂的表单结构,包括嵌套字段和强大的验证功能。这款库充分利用了不受控制的组件(uncontrolled components)的优势...
`最新Asp.Net源码下载.url`可能是一个链接,指向更多ASP.NET相关的资源或示例代码库。 `App_Code`文件夹通常用于放置自定义的类库代码,例如自定义的数据库访问类或辅助方法。在这个项目中,可能有一个用于执行SQL...
当我们的数据结构较为复杂,例如包含嵌套的对象时,使用Element UI进行表单校验会遇到一些挑战。本文将深入探讨在Vue+Element UI环境下,如何实现多层嵌套表单的校验。 首先,我们需要理解Element UI表单校验的基本...
然而,在处理复杂的数据结构,特别是涉及到数组和多层嵌套时,表单校验可能会变得相当棘手。本篇文章将详细介绍如何在Vue Element UI中进行数组多层嵌套的表单校验。 当数据结构包含数组,并且数组内的对象也需要...
茧茧使处理嵌套表单变得更加容易。 嵌套表单是一种以一种形式处理嵌套模型和属性的表单。 例如,带有任务的项目或带有订单项的发票。 Cocoon是与表单生成器无关的茧Cocoon使处理嵌套表单变得更加容易。 嵌套表单是一...
Ruby-Cocoon是一个用于Rails应用的优秀库,它专门设计用来简化嵌套表单的处理。在Ruby on Rails框架中,处理嵌套模型关联(Nesting Model Associations)时,经常会出现复杂的用户界面需求,比如动态添加或删除子...
在Android应用开发中,Fragment是UI组件的重要组成部分,它允许我们构建可重用、模块化的用户界面。在大型复杂的界面设计中,特别是涉及到平板或...不断实践和学习,你将能更好地掌握Android中Fragment的嵌套使用技巧。
下面我们将详细探讨如何创建、操作和使用嵌套列表,以及在实际编程中的应用,特别是事件拦截的概念。 1. 创建嵌套列表: 创建嵌套列表非常简单,只需在列表中包含另一个列表即可。例如: ```python nested_list = ...
例如,你可以创建一个新闻应用,其中每个`ViewPager`页面都是一个新闻详情页,而每个详情页中可能包含评论区、相关文章等嵌套的Fragment。通过这种方式,开发者可以轻松地管理大量的内容和交互,提高应用的可维护性...
本教程将深入探讨如何在Android应用中使用Fragment,以及如何进行嵌套使用,特别是在创建底部菜单和顶部菜单的场景下,类似微信和QQ的分页菜单设计。 1. **Fragment的基本使用**: - 创建Fragment:通过继承...
### UISCrollView与UITableView嵌套使用 #### 知识点概述 在iOS应用开发过程中,经常需要将`UIScrollView`与`UITableView`进行嵌套使用,以实现更加丰富的界面交互和展示效果。例如,在一个水平滑动的界面中,每个...
综上所述,"嵌套ListView嵌套adapter"是一种解决复杂数据结构展示的有效手段,尤其适用于说明书或使用手册类应用,它需要开发者对Android的视图组件、适配器机制以及事件处理有深入的理解和实践。在实际开发中,要...