`

有关嵌套资源的使用,母子表单

 
阅读更多

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
分享到:
评论

相关推荐

    表格表单的嵌套.html

    比较简单的表单与表格的嵌套,只是做一个引导作用,实际意义不大,

    结构体使用详解,与结构体如何嵌套使用

    本文将详细讲解结构体的声明、初始化以及成员变量的使用,并重点介绍结构体的嵌套使用方法。 ### 一、结构体的基本使用 #### 1. 结构体的声明和初始化 结构体的基本使用包括声明和初始化。例如,我们可以声明一个...

    多重popwind组合嵌套使用

    本教程将重点讲解如何进行多重`popwind`组合的嵌套使用,这对于新手来说是一个很好的学习机会。 首先,让我们了解`popwind`的基本概念。`popwind`(可能是对流行的Bootstrap框架的变体或者一个类似的自定义库)是一...

    两个listView嵌套使用

    本篇文章将深入探讨如何在Android中实现两个ListView的嵌套使用,并基于提供的参考博客链接进行讲解。 首先,我们要明确嵌套ListView的基本概念。嵌套ListView意味着在一个ListView的每个单元格(item)内,包含另...

    Recyclerview的嵌套使用(嵌套recyclerview)

    当需要在列表中展示另一个列表或者网格时,就会涉及到RecyclerView的嵌套使用,这通常被称为“嵌套RecyclerView”。本篇文章将深入探讨如何实现RecyclerView的嵌套,包括基本概念、配置、适配器和布局管理器的设置,...

    vue前端表单插件支持栅格和tab 嵌套布局,支持表格定义,适应于做动态数据模型管理

    在表单场景中,Tab嵌套布局允许开发者将相关但不需同时展示的字段分组到不同的Tab页签下,降低用户在填写表单时的视觉压力,提高操作效率。同时,这样的设计也使得表单结构更加清晰,便于用户理解和操作。 “支持...

    一个轻量级1kb包用于处理嵌套数据并使用GraphQL的复杂表单

    标题中的“一个轻量级1kb包用于处理嵌套数据并使用GraphQL的复杂表单”指的是一款专门针对处理带有嵌套数据结构的复杂表单的JavaScript库。这个库的独特之处在于它仅占用1kb的大小,对于优化前端性能、减少加载时间...

    嵌套Fragment的使用

    在Eclipse中创建一个使用嵌套Fragment的项目,首先你需要确保你的项目已经升级到Android Support Library或者使用AndroidX库,因为嵌套Fragment功能是在Support Library中引入的。如果你的项目还停留在Eclipse,可能...

    react-Unform是一个ReactJS表单库用于创建表单结构包含嵌套字段验证等等

    React Unform是一款专为ReactJS设计的高性能表单管理库,它专注于提供一种简便且高效的方式来构建复杂的表单结构,包括嵌套字段和强大的验证功能。这款库充分利用了不受控制的组件(uncontrolled components)的优势...

    GridView内嵌套使用GridView

    `最新Asp.Net源码下载.url`可能是一个链接,指向更多ASP.NET相关的资源或示例代码库。 `App_Code`文件夹通常用于放置自定义的类库代码,例如自定义的数据库访问类或辅助方法。在这个项目中,可能有一个用于执行SQL...

    vue elementUI 表单校验的实现代码(多层嵌套)

    当我们的数据结构较为复杂,例如包含嵌套的对象时,使用Element UI进行表单校验会遇到一些挑战。本文将深入探讨在Vue+Element UI环境下,如何实现多层嵌套表单的校验。 首先,我们需要理解Element UI表单校验的基本...

    vue elementUI 表单校验功能之数组多层嵌套

    然而,在处理复杂的数据结构,特别是涉及到数组和多层嵌套时,表单校验可能会变得相当棘手。本篇文章将详细介绍如何在Vue Element UI中进行数组多层嵌套的表单校验。 当数据结构包含数组,并且数组内的对象也需要...

    使用jQuery的动态嵌套表单变得容易; 适用于formtastic,simple_form或默认表单-Ruby开发

    茧茧使处理嵌套表单变得更加容易。 嵌套表单是一种以一种形式处理嵌套模型和属性的表单。 例如,带有任务的项目或带有订单项的发票。 Cocoon是与表单生成器无关的茧Cocoon使处理嵌套表单变得更加容易。 嵌套表单是一...

    repeater嵌套repeater嵌套

    repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater...

    Ruby-Cocoon轻松处理容易嵌套表单

    Ruby-Cocoon是一个用于Rails应用的优秀库,它专门设计用来简化嵌套表单的处理。在Ruby on Rails框架中,处理嵌套模型关联(Nesting Model Associations)时,经常会出现复杂的用户界面需求,比如动态添加或删除子...

    Fragment嵌套使用

    在Android应用开发中,Fragment是UI组件的重要组成部分,它允许我们构建可重用、模块化的用户界面。在大型复杂的界面设计中,特别是涉及到平板或...不断实践和学习,你将能更好地掌握Android中Fragment的嵌套使用技巧。

    list嵌套list例子

    下面我们将详细探讨如何创建、操作和使用嵌套列表,以及在实际编程中的应用,特别是事件拦截的概念。 1. 创建嵌套列表: 创建嵌套列表非常简单,只需在列表中包含另一个列表即可。例如: ```python nested_list = ...

    Android Fragment嵌套使用Demo

    例如,你可以创建一个新闻应用,其中每个`ViewPager`页面都是一个新闻详情页,而每个详情页中可能包含评论区、相关文章等嵌套的Fragment。通过这种方式,开发者可以轻松地管理大量的内容和交互,提高应用的可维护性...

    android fragment 使用以及嵌套使用 底部菜单和顶部菜单

    本教程将深入探讨如何在Android应用中使用Fragment,以及如何进行嵌套使用,特别是在创建底部菜单和顶部菜单的场景下,类似微信和QQ的分页菜单设计。 1. **Fragment的基本使用**: - 创建Fragment:通过继承...

    UISCrollView与UITableView嵌套使用

    ### UISCrollView与UITableView嵌套使用 #### 知识点概述 在iOS应用开发过程中,经常需要将`UIScrollView`与`UITableView`进行嵌套使用,以实现更加丰富的界面交互和展示效果。例如,在一个水平滑动的界面中,每个...

Global site tag (gtag.js) - Google Analytics