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

未完待续

rails项目编写中的一些小技巧小心得的更多相关文章

  1. python小技巧 小知识

    python小技巧 小知识 python系统变量(修改调用shell命令路径)或用户空间说明 20150418 python调用系统命令,报找不到.怎么办? 类似执行shell的: [ -f /etc ...

  2. rails 项目部署中 nginx 报错及解决方法

    错误1 1. 报403错误,是因为启动nginx的用户默认是nobody,没有对项目目录的访问权限. user myName; worker_processes ; 错误2 2. 报404错误,是因为 ...

  3. SQL小技巧小知识

    1.[ ]的使用 当我们所要查的表是系统关键字或者表名中含有空格时,需要用[]括起来,例如新建了两个表,分别为user,user info,那么select * from user和select * ...

  4. 年度巨献-WPF项目开发过程中WPF小知识点汇总(原创+摘抄)

    WPF中Style的使用 Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了 ...

  5. iOS开发中调试小技巧

    对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...

  6. Django中的ORM框架使用小技巧

      Django中的ORM框架使用小技巧 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. Django对各个数据提供了很好的支持,包括PostgreSQL,MySQL,SQLite ...

  7. iOS - 开发中调试小技巧

    对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...

  8. 【js】中的小技巧

    本文主要介绍一些JS中用到的小技巧 1. 类型强制转换   1.1 string强制转换为数字 可以用*1来转化为数字(实际上是调用.valueOf方法) 然后使用Number.isNaN来判断是否为 ...

  9. 关于Scrapy爬虫项目运行和调试的小技巧(上篇)

    扫除运行Scrapy爬虫程序的bug之后,现在便可以开始进行编写爬虫逻辑了.在正式开始爬虫编写之前,在这里介绍四种小技巧,可以方便我们操纵和调试爬虫. 一.建立main.py文件,直接在Pycharm ...

随机推荐

  1. 自守数算法----C语言实现

    #include <stdio.h> //自守数算法 //ep : 25 ^ 2 = 625 76 ^ 2 = 5776 9376 ^ 2 = 87909376 /*ep : * 376 ...

  2. CSDN帐号被封

    感慨

  3. Java遍历时删除List、Set、Map中的元素(源码分析)

    在对List.Set.Map执行遍历删除或添加等改变集合个数的操作时,不能使用普通的while.for循环或增强for.会抛出ConcurrentModificationException异常或者没有 ...

  4. UNIX环境高级编程——实现uid to name

    setpwent()用来将getpwent()的读写地址指回文件开头,即从头读取密码文件中的账号数据. strcut passwd * getpwent(void); getpwent()用来从密码文 ...

  5. UNIX网络编程——带外数据小结

    TCP没有真正的带外数据,不过提供紧急模式和紧急指针.一旦发送端进入紧急模式,紧急指针就出现在发送到对端的分节中的TCP首部中.连接的对端收取该指针是在告知接收进程发送端已经进入紧急模式,而且该指针指 ...

  6. Android开发学习之路--UI之ListView

    这里再学习写android的ListView,其实我们都使用过ListView,就像手机的联系人,就是用的ListView了.下面就实现下简单的ListView吧,首先是xml文件中添加相关的代码: ...

  7. Android中R文件的丢失问题以及aapt.exe停止工作如何解决

    出现上面这个错误,说胆你的xml文件中出问题了..找了一下原因.如下.. R.java这个文件是会自动生成的.但是有时候你写错xml文件的时候,R.java是不会自动生成对应的值.这个时候我们会很习惯 ...

  8. findViewById中NullPointerException的错误

    最近在弄一个对话框的登录时,发现一个总是报NullPointerException的错误,折腾了两小时,一直没有发现细小的区别..先上图,一边说明原因 首先是 Activity类中定义的findVie ...

  9. iOS中 UITabBarController中自定义UITabBar

    1.创建多个视图控制器,放如UITabBarController中 AViewController *aa = [[AViewController alloc] init]; UINavigation ...

  10. 03_Weblogic之配置简单域:启动和配置域,使用模板创建域,使用控制台

     1 域:概览 是Oracle Weblogic Server的基本管理单元 始终包含一个配置为管理服务器的Oracle WebLogic Server实例 域中可以包括一些称为受管服务器的Ora ...