`
lxgwx4
  • 浏览: 1556 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

单表单提交 一次能修改多个关联数据库表吗?

阅读更多
单表单提交  一次能修改多个关联数据库表吗?

一个页面表单涉及2个数据库表是,提交的时候怎么同时修改2个数据库表。
比如:

表1:people:
id
name
age

表2:mobile:
id
phonenum
people_id

表1和表2之间的关系:
people.rb
class People < ActiveRecord::Base
  has_many :mobiles
end

mobile.rb
class Mobile < ActiveRecord::Base
  belongs_to :people
end

在一个/views/peoples/edit.rhtml页面中显示people.name,people.age,people.mobiles所有手机号码。这个时候页面提交的时候怎么同时修改这2个表的数据?
用 @people.update_attributes(params[:people]) 能实现吗?
分享到:
评论
1 楼 cvu 2007-06-11  
PeopleController:
def update
  @person = People.find(parmas[:id])
  @person.update_attributes(params[:person])
  for mobile in @person.mobiles
    mobile.update_attributes(params['mobiles'][mobile.id])
  end
end


_form.rhtml
<%= text_field :person, :name%>
<% for mobile in @people %->
  <%= text_field_tag "mobiles[${mobile.id}]", mobile.number>
<% end %>


以上伪代码,大概就是那么个意思。不困难的。

相关推荐

    数据库课程设计(包括如何创建表单,创建系统数据库,连编,还有一个完好的应用程序,很好用的)

    在VF中,一个完整的应用程序通常由多个组件组成,包括前面提到的表单、数据库、报表、菜单等。开发者需要编写逻辑代码来连接这些组件,实现数据的增删改查、查询过滤、报表打印等功能。此外,还可以利用VF的菜单设计...

    分类留言系统(表单提交)源代码

    总的来说,这个【分类留言系统(表单提交)源代码】涵盖了ASP编程基础、Web表单处理、数据库操作、用户体验设计以及安全防护等多个方面的知识点。对于想要学习或提升ASP开发技能的人员来说,这是一个很好的实践案例...

    泛微Ecology8.0数据库表结构

    泛微Ecology8.0是一款企业级协同办公系统,它涵盖了企业日常运营的多个关键领域,如会议管理、表单设计、流程自动化、日程安排、文档管理、组织权限控制、协作工具以及系统集成等。数据库表结构是系统运行的基础,它...

    JAVA动态表单设计,自定义表单,自定义数据

    数据库存储还能支持多版本管理,方便回滚到之前的表单设计。 3. **设计服务器(design-server)** 这个模块可能包含了处理动态表单设计请求的服务器端逻辑。它可以提供API供前端调用,实现表单的设计、保存和查询...

    泛微Ecology9.0工作流程最新版数据库表结构

    `t_form`表存储表单设计,`t_field`表记录表单字段,它们与工作流程实例关联,确保数据的正确流转。 4. **审批规则和权限表**:`t_rule`表可能包含了审批策略,定义了不同条件下任务如何被分配和审批。`t_...

    activiti工作流动态表单,外置表单,普通表单demo

    activiti三种表单的demo实现 运行方式: 1,修改连接的数据库 2,sql文件在resources\sql下 3,访问地址http://localhost:8080/activiti-demo/main/index

    OA办公系统数据库表说明

    - `POWER_ID`:权限ID,作为外键,一个权限可以对应多个角色。 - `ROLE_ID`:角色ID,作为外键,一个角色可以拥有多个权限。 5. **Role表**: - `ROLE_ID`:角色ID,主键,自动增长。 - `ROLE_NAME`:角色名称...

    springboot2.1+redis+拦截器 防止表单重复提交

    在现代Web应用开发中,防止表单重复提交是一项重要的任务,因为这可能导致数据不一致性和服务器资源浪费。本文将深入探讨如何使用Spring Boot 2.1、Redis和拦截器来实现这一功能。以下是对这个主题的详细解释: ...

    delphi多线程访问数据库

    首先,多线程的基本概念是并发执行多个任务,每个任务在一个独立的线程上运行。在Delphi中,我们可以使用TThread类或VCL库中的其他多线程组件来创建和管理线程。例如,`Unit1`和`Unit2`可能是两个不同的线程类,分别...

    VB表单录入数据库例子.rar

    标题中的"VB表单录入数据库例子.rar"是一个Visual Basic (VB)编程的示例,它展示了如何通过表单界面与数据库进行交互。这个压缩包包含了多个文件,它们都是构成VB项目的重要部分,让我们一一解析: 1. **Module1....

    数据库原理笔记数据库原理笔记.doc

    规范化定义:将一个具有多个主题的表或关系分割为一组表,使得每一个表只有一个主题。规范化过程包括确认关系的所有候选键、确认关系中所有函数依赖关系、检查函数依赖关系的决定因子、根据需要,多次重复步骤、直至...

    Hibernate 多对一连接表单向关联

    在Java的持久化框架Hibernate中,多对一(ManyToOne)关联是常见的关系映射类型,它代表一个实体可以与多个另一个实体相关联。在这种关系中,通常一个实体("一"端)拥有多个实例,而另一个实体("多"端)只能对应一...

    数据库表单的创建PPT学习教案.pptx

    表单本身是一个容器,它可以包含多个控件,如标签、文本框、编辑框、命令按钮、组合框、列表框和表格等。在创建表单时,通常使用表单设计器,这可以通过软件的“文件”菜单下的“新建”选项来启动,选择“表单”来...

    groovy将表单多个字段复制到一个字段内.rar

    在数据库设计中,主表通常包含唯一标识,而重复表可能会有多个关联记录。将重复表的字段复制到主表字段,可能涉及数据聚合,比如使用`collect()`或`inject()`等Groovy方法。 5. **脚本实现**: 在Groovy脚本中,...

    调查表表单设计

    在IT行业中,设计一个出色的调查表表单是至关重要的,它可以帮助我们收集用户反馈、市场研究数据以及其他关键信息。本文将深入探讨“调查表表单设计”这一主题,结合提供的文件列表,我们将讨论如何创建一个功能齐全...

    康熙字典数据库.zip

    在这个数据库中,可能包含一个或多个表,每个表对应《康熙字典》中的一个部分,如字头、注音、释义、部首、笔画等。 2. **字段设计**:每个表中的字段代表《康熙字典》中的一个信息项,如“汉字”字段记录字头,...

    一个完整的数据库管理程序

    数据库管理程序可能包含多个表单,每个表单上分布着各种控件,如文本框(TextBox)、列表框(ListBox)、复选框(CheckBox)、按钮(Button)等,用于输入、显示和操作数据。 6. **事件处理**: VB是事件驱动的,...

    数据库学习-数据库系统.doc

    关系代数和关系演算是查询和操作关系数据的理论基础,而连接(JOIN)操作则是合并两个或多个表的关键操作。 总的来说,数据库学习涵盖了数据库系统的基本概念、数据模型、数据库管理系统、关系数据库以及数据库系统...

Global site tag (gtag.js) - Google Analytics