rails项目编写中的一些小技巧小心得-阿里云开发者社区

开发者社区> 开发与运维> 正文

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格式不正确"

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

def login

  if request.post?


  end

end

未完待续

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章