class Company < ActiveRecord::Base
has_many :users #注意这里是has_many
has_one :newuser #注意这里是has_one
accepts_nested_attributes_for :newuser
....................
end
通常B2B门户网站在用户注册(:controller=> :users)时,都要求填写一些公司信息,所以要使用嵌套表单,如下:
- form_for :company, :url => users_path do |f| 注意form_for :company与:url => users_path 的不一致性
%fieldset
%p
= f.label :name, '公司名称'
= f.text_field :name
%p
= f.label :trade, '公司类型'
= f.text_field :trade
%p
= f.label :webaddress, '公司网址'
= f.text_field :webaddress
%fieldset
- f.fields_for :newuser_attributes do |user_form| (#关键就在这里了)
%p
%label{:for => 'email'} 电子邮箱
= user_form.text_field :email
%p
%label{:for => 'login'} 用户名称
= user_form.text_field :login
%p
%label{:for => 'password'} 用户密码
= user_form.password_field :password
%p
%label{:for => 'password_confirmation'} 重复密码
= user_form.password_field :password_confirmation
%p
%p
= f.submit "注册"
接着就应该在User_controller下的create方法里,保存Company、User信息,如下:
def create
@company = Company.new( params[:company] )
@company.save
end
OK,我们看到上面只是非常简单的两句话,但是你会发现,执行@company.save时,除了执行insert into companies values (......),还会自动执行insert into users values (.....),从而实现一个表单的提交,同时操作两个数据库表。
神奇吧,赶快去试试^_^
参考资料:
<!--EndFragment-->
http://guides.rubyonrails.org/2_3_release_notes.html
<!--EndFragment-->
分享到:
相关推荐
Ruby-Cocoon是一个用于Rails应用的优秀库,它专门设计用来简化嵌套表单的处理。在Ruby on Rails框架中,处理嵌套模型关联(Nesting Model Associations)时,经常会出现复杂的用户界面需求,比如动态添加或删除子...
茧茧使处理嵌套表单变得更加容易。 嵌套表单是一种以一种形式处理嵌套模型和属性的表单。 例如,带有任务的项目或带有订单项的发票。 Cocoon是与表单生成器无关的茧Cocoon使处理嵌套表单变得更加容易。 嵌套表单是一...
在本文中,我们将深入探讨如何使用`form-create`来动态生成vue自定义组件和嵌套表单组件。 首先,`form-create`的核心在于`maker`对象,它提供了一系列的方法来创建不同类型的组件。例如,`maker.create()`可以用来...
比较简单的表单与表格的嵌套,只是做一个引导作用,实际意义不大,
嵌套表单是一种以一种形式处理嵌套模型和属性的表单。 例如,带有任务的项目或带有订单项的发票。 Cocoon与表单生成器无关,因此可与标准Rails, 或。 它与导轨3、4和5兼容。 该项目与无关。 先决条件 这个宝石...
本文将深入探讨在Vue+Element UI环境下,如何实现多层嵌套表单的校验。 首先,我们需要理解Element UI表单校验的基本概念。在Element UI中,表单校验需要遵循一个规则,即传入的model必须是一个对象。在对象的基础...
当我们需要在 rails 中创建嵌套表单时,我们使用了nested_form gem。 但是如果你使用 AngularJS 作为前端,那么你就不能使用它。 当您希望嵌套表单使用 AngularJS 时,您需要编写自己的代码。 在这个应用程序中,我...
支持嵌套表单,跳过字段验证和多字段验证的规则。 有i18n支持。 字段验证器使用对象原型机制来支持继承。 有关更多示例,请检查测试。 如果要查看基于同构模式表单定义的自动表单生成,请转到 。 该库可以很容易...
使用Vanilla JS的Rails动态嵌套表单 类似于茧,但没有jquery依赖! 安装 只需将其添加到您的gemfile gem 'vanilla_nested' # or gem 'vanilla_nested', github: 'arielj/vanilla-nested' 如果您使用的是Sprockets...
在Ant Design Vue 3.x版本中,表单的使用与之前版本有了一些显著的变化,特别是对于嵌套表单的处理和验证方式。本文将详细解析这些变化,帮助开发者避免在升级过程中遇到的“坑”。 首先,让我们关注的是嵌套表单...
此外,可能还需要处理一些特殊情况,如嵌套表单、多选框组、文件上传等。 项目中的"WebDemo"可能包含了以下部分: 1. HTML模板:用于构建表单的基础结构。 2. CSS样式文件:定义表单的外观和布局。 3. JavaScript...
表单对象以更无缝的方式处理嵌套对象的创建/更新操作。 安装 将此行添加到您的Gemfile : gem 'active_form' 定义表单 考虑一个示例,您要创建/更新一个会议,该会议可以有多个演讲者,这些演讲者可以通过一个...
然而,在处理复杂的数据结构,特别是涉及到数组和多层嵌套时,表单校验可能会变得相当棘手。本篇文章将详细介绍如何在Vue Element UI中进行数组多层嵌套的表单校验。 当数据结构包含数组,并且数组内的对象也需要...
同时,官方文档也是一个很好的学习资料,它详尽地介绍了如何定义Form对象、处理嵌套表单、自定义验证等各个方面。 总的来说,Ruby-Reform是Ruby开发中的一个强大工具,能够极大地改善你的表单处理体验。它提供了更...
7. **嵌套表单** 如果需要处理嵌套模型,Simple Form同样提供了很好的支持。使用`accepts_nested_attributes_for`在模型中声明,然后在表单中使用`fields_for`方法: ```ruby |address_form| %> ``` 8. *...
它可能包含了更复杂的数据逻辑,如条件分支、计算字段、嵌套表单等,使得表单可以根据不同的输入自动调整显示内容或执行特定操作。超级表单还可以集成第三方服务,如支付网关,实现在线支付功能,简化整个预约流程。...
这个库是为了解决Django REST Framework(DRF)中处理嵌套表单的问题。描述提到资源来自PyPI官网,并且解压后即可使用,表明这是一个符合Python标准格式的whl文件,它是预编译的Python包,可以直接通过pip安装。 `...
带有示例的带有嵌套资源的表单示例,该嵌套资源使用流星React式表单和经过验证的包构建。 关于 该项目说明了如何使用template / forms包为主要资源和嵌套资源列表构建表单。 在这种情况下,主要资源是Project ,而...
本文将详细介绍这款支持栅格和Tab嵌套布局、表格定义的Vue表单插件,以及它如何适应动态数据模型管理场景。 首先,让我们来看看“栅格布局”这一概念。栅格布局是网页设计中的常见方式,它允许开发者通过行列来组织...