rails 国际化、validate校验、flash提示

时间:2023-03-10 02:44:04
rails 国际化、validate校验、flash提示

1、Rails的国际化

根据特定的locale信息,提取相应的内容

通过config/environment.rb,指定应用的转换文件

config.i18n.load_path +=Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')]    #指定搜索的文件类型

config.i18n.default_locale =:zh         #指定默认的文件

在config/locales中创建zh文件,提供转换的方式

2、validates用于校验

validates_presence_of       确认属性值不为nil也不为空

validates_length_of         确认属性值的长度

validates_uniqueness_of     确认属性是唯一的

validates_confirmation_of   确认字段和它的值有同样内容

validates_associated        在关联的对象上完成确认

在view层通过<%=f.error_messages %>呈现validates返回的消息

3、flash

用于在两个actions间传递临时数据,用于控制层,在执行某些命令之后,传出提示信息

defcreate

方式一:

flash[:notice]= "创建POST成功" # 可以直接写成notice = "创建POST成功"

redirect_tonew

方式二:

redirect_tonew, :notice => "创建POST成功"

end

layout层中,代码如下:

<% if flash[:notice] %>

<divclass="notice"><%= flash[:notice] %></div>

<%end %>

若create成功,则会提示  "创建POST成功"