下面是添加student的代码
def add
@student = Student.new(params[:student])
@klass = Klass.find(:first, :conditions => [ "klass_num = ?" , params[:klass][:klass_num] ])
if @klass.students.create(@student.attributes)
flash[:notice] = "Student was successfully created"
redirect_to :action => :list
else
flash[:notice] = "Failed to create student!"
redirect_to :action => :add_student
end
end
@klass.students.create(@student.attributes)
这句本来不应该是把@student关联到@klass对象,并且保存新建的对象@student么?
但是结果并没有保存,弄了半天也没找出什么原因。
我把
if @klass.students.create(@student.attributes)
我改成:
@klass.students.build(@student.attributes)
if @student.save
保存是成功了,但是没有建立klass与student之间的关联,不知道到底哪儿有问题,希望大家指点一下
log中传递的参数是正确的:
Parameters: {"klass"=>{"klass_num"=>"210309"}, "commit"=>"添加", "action"=>"add", "controller"=>"student", "student"=>{"name"=>"fuliang", "password_confirmation"=>"123456", "student_num"=>"21030922", "password"=>"123456"}}
分享到:
- 2007-04-30 14:39
- 浏览 2747
- 评论(2)
- 论坛回复 / 浏览 (2 / 3124)
- 查看更多
相关推荐
标题中的“Rails的中文乱码问题”涉及到的是在使用Ruby on Rails框架开发Web应用时,遇到的中文字符编码不正确的问题。Rails是一个基于Ruby语言的开源Web开发框架,它遵循MVC(Model-View-Controller)架构模式。在...
6. **Scaffolding**:Rails提供了快速生成基本CRUD(Create, Read, Update, Delete)操作的命令行工具,可以自动生成控制器、视图、样式表和测试文件,方便快速搭建原型。 7. **Testing**:Rails强调测试驱动开发,...
安装过程中,遵循提示进行,确保选择自定义安装并勾选Rails相关的插件,以便在Aptana中获得对Rails的全面支持。 安装完成后,打开Aptana Studio,创建一个新的Rails项目。在“File”菜单中选择“New”然后点击...
在Rails框架中处理文件上传时,经常会遇到一个问题,那就是当用户尝试上传包含中文名称的文件时,文件名可能会出现乱码。这个问题主要是由于字符编码不兼容导致的。Rails默认使用UTF-8编码,但文件系统或者某些外部...
此外,书中还介绍了一些Rails中的高级概念,如Strong Parameters(强参数),它在Rails 4.0版本中引入,用于解决之前版本中的参数篡改问题,从而帮助开发者安全地处理外部提交的数据。 通过一系列的教学内容,包括...
4. **ActiveRecord**:这是Rails中的ORM(对象关系映射)库,它允许开发者用Ruby代码操作数据库,无需编写SQL。 5. **Scaffolding**:Rails的快速开发工具,能自动生成CRUD(创建、读取、更新、删除)操作的模型、...
这个Rails项目提供了学习和研究Web开发的机会,特别是对于Ruby on Rails新手,可以通过阅读和理解源代码来提升技能,了解实际应用中Rails的用法。同时,对于有经验的开发者,这个项目也可以作为一个起点,进行二次...
在Rails开发中,为了增强用户体验,常常需要使用JavaScript来处理日期选择和管理。这篇博客“rails中使用javascript日期控件”探讨的就是如何在Rails应用中集成JavaScript日期控件,特别是通过一个名为WebCalendar....
在Rails项目中安装Mongrel通常通过RubyGems进行,这是一个Ruby的包管理器。首先确保RubyGems已经安装,然后在命令行执行以下命令: ```bash gem install mongrel ``` 安装完成后,可以通过`mongrel_rails`命令来...
Rails for Zombies教程中的"Deep in the CRUD"部分深入讲解了CRUD(创建Create、读取Retrieve、更新***e、删除Delete)操作。CRUD是数据库管理系统中应用最广泛的四个基本操作,用于管理数据库中数据的生命周期。 ...
- 如何在Rails中实现RESTful接口。 - **案例分析**: - 分析一个典型的RESTful应用示例。 #### 九、练习作业2-在Group里面发表文章-双层RESTFul - **目标**: - 在Group中添加Post功能。 - **实现过程**: - 创建...
然而,有时在尝试连接Rails应用到MySQL数据库时,可能会遇到一些问题。本篇文章将深入探讨这些常见问题及其解决方案。 首先,Rails与MySQL的连接问题可能源于配置不正确。在`config/database.yml`文件中,你需要...
在Rails开发中,分页是常见的功能,用于处理大量数据并优化用户体验。当我们从数据库查询数据时,一次性加载所有记录可能会导致性能问题,尤其是当数据量庞大时。因此,分页成为了解决这一问题的关键技术。这篇关于...
CRUD(Create, Read, Update, Delete)是数据库操作中最基本的操作集合,也是 Rails 开发中的重要组成部分。 ##### 1. Create 创建 创建操作用于向数据库中添加新的记录。在 Rails 中可以通过以下方式实现: - **...
RailsGuides中的"blog"程序是一个典型的入门级示例,旨在帮助初学者理解RoR的工作原理和核心概念。 在Rails中,**模型(Model)** 负责处理数据和业务逻辑,通常与数据库交互。在这个"blog"程序中,可能会有一个`...
在Rails中,我们通常使用ActiveRecord库来创建模型,通过继承`ApplicationRecord`类并定义属性和关系。 2. **View**:视图负责展示用户界面。Rails提供了ERB(Embedded Ruby)模板,允许在HTML中嵌入Ruby代码,实现...
总的来说,Ruby on Rails是一个强大的开发工具,它简化了Web应用的构建过程,让开发者可以更专注于创新和解决问题,而不是琐碎的配置和代码复写。通过深入学习和实践,你可以提升自己的技术水平,为未来的事业发展...
本书还涉及了当常规的Ruby调试技巧失效时,如何使用系统工具来解决Ruby进程中的问题,这对于处理复杂错误和性能瓶颈非常有帮助。 #### Writing Efficient Ruby Code 最后,书中还讨论了如何编写高效的Ruby代码,这...
在本文中,我们将深入探讨Rails3中的常用命令,帮助你更高效地进行开发工作。 首先,新建一个Rails项目是开发的起点。你可以使用以下命令创建一个新的工程: ```bash rails new 工程名 ``` 这会生成一个包含所有...
在Rails Recipes中,作者们不仅关注技术层面的问题,还考虑到了程序员在实际开发过程中可能遇到的理论和思想上的困惑。他们试图通过书中的内容,让读者在解决问题的同时,能够获得更深层次的理解,这样的学习方式...