controller层面:一般不推荐在controller层面去验证然后返回错误信息,一方面不符合MVC的原则,代码的复用性也会比较低(因为对于同一个字段的验证,每个需要验证的action都需要写一遍)。如果的确需要用到,一般是这样实现的:
render :text => "<script>alert('用户id输入有误');history.back();</script>" and return if xxx
思路是直接调用js的history.back()强行返回到表单提交的页面,然后弹出一个JS弹框描述报错的内容。
页面返回跳转
use the attribute data-rel=”back” on the anchor tag instead of the hash navigation, this will take you to the previous page
在controller中加上,
@url = request.url
在页面中加上
<%= link_to "返回" ,@url,{"data-rel" => "back"} %>
如果你想加上返回的图标,那么修改如下:
<%= link_to "返回" ,@url,{"data-icon" => "back" , "data-rel" => "back"} %>
request.url:获取当前页面的地址
将字符串首字母大写
"hello".capitalize #=> "Hello"
"HELLO".capitalize #=> "Hello"
"123ABC".capitalize #=> "123abc"
Rails – radio_button
性别:
<%= radio_button_tag 'fee','1', true %> 男
<%= radio_button_tag 'fee','0',false %> 女
controller中取值: params[:fee]
Migrations提供了一系列的方法来操作数据库:
create_table #建表
change_table #修改表结构
drop_table #删除表
add_column #增加字段
change_column #修改字段定义
rename_column #修改字段名
remove_column #删除字段
add_index #创建索引
remove_index #删除索引
具体各个方法的详细定义,可以查看Rails的API http://api.rubyonrails.org/classes/ActiveRecord/Migration.html
执行migration的经典方法:
rake db:migrate
#执行特定版本
rake db:migrate VERSION=20080906120000
# 清空数据
rake db:drop
# 创建数据库
rake db:create db:migrate
#屏蔽migration的输出
rake db:migrate VERBOSE=false
#你又后悔,可以用如下方法回滚到最近的一次migration执行的状态
rake db:rollback
#回滚到最近的3次,题外话,关于这个STEP=3到底是保存在那里的,我不曾找到,在数据库的schema_migrations表中,只有版本的信息
#莫非是按schema_migrations表记录的顺序?这个还要验证一下.
rake db:rollback STEP=3