对于Ruby的语法不是很熟悉,遇到一个问题,现在还没有明白怎么回事,先记下来,也许以后等用的熟练的就明白了
一个form有两个field,对应数据库表中的两个字段
<form action="new" method="post" enctype="multipart/form-data">
<input name="user_name" type="text"/>
<input name="photo" type="file" />
<input type="submit" name="submit" />
</form>
数据表
CREATE TABLE `users` (
`id` int(12) NOT NULL auto_increment,
`user_name` varchar(50) NOT NULL,
`photo` varchar(200) NOT NULL default '/images/account/default.jpg',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
提交到action后,分别通过两种写法,user_name的值是一样的,而photo的值是完全不一样的。
@user = User.new(params[:user])
puts(@user.user_name)
puts(@user["user_name"])
puts(@user.photo)
puts(@user["photo"])
user_name打印出来值是完全一样的,而photo第一个取到的是file对象,第二个取到的是数据库表相应字段的缺省值,'/images/account/default.jpg'.
还需要好好学习,明白其中的意思
分享到:
相关推荐
总之,Ruby语法基础教程将引导你走进这个富有表现力和灵活性的编程世界。通过学习,你将能够编写出高效、易读的代码,并体验到Ruby带来的编程乐趣。无论是Web开发、自动化任务还是数据分析,Ruby都能提供强大的支持...
在Ruby中,一切皆为对象,这使得它在处理复杂逻辑时具有很高的灵活性。这篇博文链接()可能详细解释了Ruby的基本语法和特性,但由于没有实际内容,我将根据常见的Ruby语法知识进行阐述。 1. **变量**: Ruby有四种...
以下是一些从书中的截图中可以提炼的重要Ruby语法知识点: 1. **变量** - `local变量`:以小写字母开头,如`x = 10`。 - `实例变量`:以`@`开头,如`@name = "John"`。 - `类变量`:以`@@`开头,用于整个类共享...
- **简洁性**:拥有简洁、易读的语法。 - **元编程能力**:支持在运行时动态修改和生成代码。 - **标准库**:提供了丰富的工具和功能。 - **Web 开发框架**:拥有流行的 Web 框架 Ruby on Rails。 #### 二、...
作为一种解释型语言,Ruby 具有简单易懂、功能强大且灵活的特点。Ruby 在 Web 开发领域非常流行,尤其是通过 Rails 框架,让开发者能够快速构建高质量的应用程序。 #### 基本语法 - **变量**:在 Ruby 中定义变量...
7. **元编程**:Ruby的元编程能力允许在运行时动态修改代码,这使得Ruby具有极高的灵活性。了解eval、send、instance_variable_get/set等方法是深入理解元编程的关键。 8. **标准库和Gem**:Ruby拥有丰富的标准库,...
### Ruby语法基础教程知识点概览 #### 一、Ruby语言概述 **1.1 Ruby的历史** - **创始人:** Ruby语言是由日本人松本行弘(Matz)在1995年开始开发的一种脚本语言。 - **发展背景:** 在Perl和Python流行的时代背景...
- **简洁的语法**:Ruby 设计上注重代码的可读性和简洁性,减少了不必要的符号和括号。 - **块与迭代器**:Ruby 提供了强大的块(Block)和迭代器(Iterator)支持,使得循环和遍历更加优雅高效。 - **元编程能力**:...
通过使用Ruby自身的语法进行注释,开发者可以确保文档与代码的一致性,提高项目的可维护性和用户体验。结合压缩包中的`apipie-rails-master`文件,你可以进一步探索和定制Apipie的功能,以适应你的特定项目需求。
### Ruby语法基础:深入了解Ruby语言的关键特性 #### 一、Ruby语言概述 ##### 1.1 Ruby的历史背景 Ruby语言的起源可以追溯到1993年,由日本程序员松本行弘(Matsumoto Yukihiro),也被亲切地称为“Matz”,着手...
然而,这也意味着更高的灵活性,可以更快地进行迭代和实验。 《程序员实务:从熟练工到大师》一书建议程序员每年学习新的编程语言,学习Ruby可以帮助理解不同编程范式,提高编程能力。尽管IronRuby尚未成为主流工具...
3. **支持多种编程范式**:除了面向对象编程之外,Ruby还支持过程式和函数式编程,这给予了开发者更大的灵活性。 4. **强大的社区支持**:Ruby拥有一个活跃的开发者社区,这意味着有大量的资源、文档和工具可供学习...
Ruby是一种高级的、动态类型的编程语言,它的设计哲学强调简洁性和表达性。在Ruby中,一切都是对象,这使得它成为一种纯面向对象的语言。下面我们将深入探讨Ruby的语法和语言特性,包括基础语法、编程模型、流程控制...
在Ruby中,一切都是对象,包括基本类型和类,类型检查是在运行时进行的,这可能导致一些程序员感到不习惯,但同时也带来了更高的灵活性。此外,学习新的编程语言如Ruby,对于程序员的成长和专业技能的提升大有裨益,...
这种能力使得Ruby的代码可以自我调整,增强了灵活性。 10. **宝石(Gem)管理**:Ruby的包管理器称为Gem,它提供了大量的库和工具,如Rails框架、测试工具Rspec等。通过`gem install`命令可以方便地安装和管理这些...
这种能力极大地增强了 Ruby 的灵活性,使得开发者能够根据实际需求定制自己的编程框架和库。 #### 五、丰富的内置方法 Ruby 内置了大量的方法来处理各种常见的数据结构,如字符串、数组、哈希等。这些内置方法不仅...
这使得Ruby在面向对象编程方面具有很高的灵活性,程序员可以通过定义类和模块来构建复杂的软件结构。Ruby的语法简洁,易于阅读,强调代码的可读性和表达性,这在很大程度上减少了代码量并提高了开发效率。 Ruby的...
这种面向对象特性使得Ruby具有高度的灵活性,程序员可以通过组合和复用对象来构建复杂的应用程序。 Ruby提供了直接呼叫系统调用的能力,这意味着开发者可以直接与操作系统进行交互,执行底层任务,如文件操作、进程...