Rails项目编写中的一些小技巧小心得
1. 如果form中有数据要传回服务器可以用隐藏属性的控件:
form_for(xxx) do |f|
f.hidden_field :xxx,value:xxx
end
2. 如果你需要一些信息放在全局页面框架里,但是这些信息属于某些特定页面的话,可以用如下方法实现:
<% content_for :QuestionsCount do %>
<%= @question.length if @question %>
<%= 0 unless @question %>
<% end %>
比如我想在全局页框架里显示question的数量(放在页标题中),而question对象只在某个页面存在,即以上代码放在index.html.erb中,然后在页框文件application.html.erb中加上如下代码:
<title>Exams (题库中有 <%=yield :QuestionsCount %> 道题目)</title>
3. 在一些重定向或render操作中,我们可能不需要将将要跳转的页面放到默认的页面框架里显示,我们希望使用特别的页框架;这时可以手动指定一个页框架:
respond_to do |format|
format.html {render layout:"my_layout"}
end
4.某些情况下我们希望模式的email字段可以是空或者要为一定格式,这时如果用validates_format_of验证方法就会发现,如果其值为空会验证失败,除了使用自由度更高的验证方法以外,还有一种简单的办法,就是将validates_format_of的allow_blank参数设置为true即可:
validates_format_of :email,\
with:/\A[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}\z/i,allow_blank:true,message:"email格式不正确"
Rails 的详细介绍:请点这里
Rails 的下载地址:请点这里