ror这么流行,也看看

这两天的一点学习记录

@@开头的为类变量

@开头的为实例变量

 

attr_accessor :name

表示一个name属性,可能通过xx.name和读取和设置

 

attr_reader :name

说明name是一个只读属性,只能通过xx.name读取值而不是设置

 

attr_writer :name

说明name是一个只写属性,只能通过xx.name来设置值而不能读取

 

ror模型中的数据验证的辅助方法

vaildates_presence_of :name

表明这个name的值是必填的

在ror中还有一些其它的验证方法。

我们也能添加自定义的验证方法。

只要通过validate :xxx

:xxx是模型中自定义的一个方法,我们只要在方法里添加自已想要的验证条件,并通过errors.add(:xx,'出错信息')来添加验证未通过时的错误提示就实现了一个自定义的验证方法

ActiveRecord中orm的管理

通过belongs_to :order管理多对一关系

通过has_many :products管理一对多关系

 

ror中的session管理

ror默认的session是保存在文件系统中的,我们可能通过enviroments.rb中的config.action_controller.session_store = :active_record_store设置可以将session保存到数据库中

当有多个应用并存时我们需要在ApplicatonController中设置session :session_key => 'xxxx_session_id'和protect_from_forgery :secret => '8c3e099237e6366fd2f5366e9c430e79'这两个值以区分不同应用的session

 

session的存取则是通过session[:name]来进行

 

在ror中通过params[:id]来读取get和post的参数

 

控制器中过滤器

通过在ApplicationController中添加before_filter :xxx, :expect => :yyy可以在访问所有的action前先执行:xxx指定的方法 ,除了:expect中指定的:yyy方法外,而在指定控制器中增加before_filter则只对当前控制器的所有action有用

 

当我们通过controller创建控制器时,在rails中会在views/layout下创建一个同名的主view,我们可以通过ApplicationController中的layout "xxx"指定给所有的控制器一个相同的主view

你可能感兴趣的:(orm,ActiveRecord,Rails)