您的位置:首页 > 大数据 > 人工智能

rails项目编写中的一些小技巧小心得

2015-01-15 20:16 281 查看
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格式不正确"

5.某些情况下你可能要在action中识别是post调用的吗?可以用如下代码

def login

if request.post?

end

end

未完待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: