当前位置: 首页 > news >正文

ruby on rails开发B/S的相关经验

用 select_tag 当制定选项时用 options_for_select (数组,默认选定值)

 

界面元素除了 onclick 等事件属性一旦在界面上定义后就不能在 javascript 中修改,而其他 html 属性则可修改

 

Select 的默认值设置为 在想要设置为默认值的 option 中加入 selected= “ true ”

 

当页面减少数据后可根据控制器中原来的数量减去页面传回来的数据来得到较少的数据

 

在 javascript 中引用控制器传来的数据时 应用引号把 <%=   %> 包起来才能用

 

在 javascript 中使用 for 循环

for(var   i=0;i<document.all.radiobutton.length;i++){  
  if(document.all.radiobutton[i].status){  
  recieve   =   document.all.radiobutton[i].value;  
  break;  
    }  
  }  

 

javascript 同时也可以嵌套在 ruby 中的 for ..in … 循环中

 

在下层浮动的块级元素定义宽度,在他上面建立非浮动的块级元素则可以使用 margin:0 auto;

注意可以使用 margin:0 auto; 样式的块级元素一定不能让他浮动起来,否则无效

 

若块级元素浮动起来后宽度不够则后面的块级元素将排列在上一个的下面而不是上一个的后面

 

request.post? 判断在控制器中该控制器是否为 post , form_for 默认情况是 post ,所以经常用来判断是否有 form_for 返回到控制器

 

在循环中指定跳转 redirect_to 时需要在前面加入 return ,否则 server 就崩溃了

 

初始化数组 xxx=[]   初始化哈希 xxx={}

 

数组中可以 << 任意类型的值

 

时间类型可以直接进行进行对比

 

Javascipt 通过 window.location…(url) 将跳转到制定的网址

 

Ruby 中 randor 不经过 application ,而 redirect_to 叫经过

 

%w() 括号内放入加空格的值则将形成字符串数组

 

eEdit 中选择 view 中的 word  wrap 选择 none 则是不自动换行

e 中 Ctrl+f 选择他里面选项的第一项则是将字符转移如 /n 等换行

form 表单中的 enctype="multipart/form-data" 的属性:将数据分段上传(作用于比较大的数据),并且以二进制方式上传,没有指明的则以 ACICAL 码上传

 

在 rails 环境中 RAILS_ROOT 指定的是当前路径

 

redirect_to 与 render 的区别在于 redirect_to 走控制器;而 render 直接渲染 action 对应的界面,这里应当为 render 渲染的界面准备好数据,因为 render 不走控制器

 

action 中的 render

render (:text => "hello world!")

将响应字符串

render (:inline => string, [:type => "rhtml"|"rxml"])

把传入的 string 渲染成模板( rhtml 或者 rxml )

render (:action => action_name)

直接调用某个 action 的模板,相当于 forward 到一个 view

render (:file=>’/sss/sss.erb’, [:use_full_path => true|false])

使用某个模板文件 render, 当 use_full_path 参数为 true 时可以传入相对路径

render(:template => name)

使用模板名 render ,例如 : render(:template => "blog/short_list")

render(:partial => name)

以局部模板渲染

render :json=>{ 其中输入 hash 值 }

将响应以 json 形式响应客户端 , 响应的格式为 json 的字符串形式,所以要转化为 json 对象, eval(‘(’+ 接受响应的变量 +’)’) 将得到实际的 json 对象

render :xml => {:name => "David"}.to_xml

将转换成 xml 的形式

render(:nothing=>true)

什么也不输出 , 包括 layout

render()

默认的的 render, 相当于 render(:action => self)

 

input 的 name 值可以为 xxx[] 的形式,这样控制器将收到 params[xxx] 的数组

 

若把某一元素放到表格 td 的外部将导致此元素位置不为开发时位置一样,大多数情况下浏览器会把他解析到 table 的外部

 

 

Json 的格式:    

x=[{" 城市 ":" 北京 "," 面积 ":16800," 人口 ":1600},{" 城市 ":" 上海 "," 面积 ":6400," 人口 ":1800}]

1 并列的数据之间用逗号( “ , ” )分隔。

                     2 映射用冒号( “ : ” )表示。

                     3 并列数据的集合(数组)用方括号 ("[]") 表示

                     4 映射的集合(对象)用大括号( “{}” )表示。

                     5 数组元素的引用格式 x[0]

                     5 对象属性的引用格式 x[0][“ 城市 ”]

例如:这个数组中包含 2 个对象,每个对象分别有城市,面积,人口属性

注意:数组表示有序的集合,对象表示无序的集合

 

select("post", "person_id", Person.find(:all).collect {|p| [ p.name, p.id ] }, { :include_blank => true }) 中{ :include_blank => true } 可以设置select 元素的默认值为空的option 
  

将 javascript 中的变量插入界面中时可以拼字符串的方式,如 $a 为 javascript 中的变量那么, $('<td>'+$a+'</td>') ,这样 td 元素中就插入了 javascript 中的变量了,在把 td 插入到界面就 OK 了

 

扩展快

多台的反向关联

在 sumit 的时候可以用 jquery 中的 submit 函数先进行其他操作,其他操作完成后在使表单 submit

 

分页功能在课程总库里有

 

对模型增加事务,对模型的操作事务则 roll back

模型名 .transaction do

  对模型进行的操作

End

 

Ruby 中整数除以整数仍然是整数。

 

递归算法 : 函数自己调用自己

 

Javascript 中用 var 声明一个变量是局部变量,不用则是一个全局变量,局部变量跳出函数后不起作用。

 

界面应用框架 iframe 首先定义 iframe 的 name 属性,通过建立 a 标签并设置 a 标签中的 target='iframe 中 name 的名称 ' 从而实现单击 a 改变 iframe 框架

 

window.top // 最顶层窗口
window.self // 当前窗口
window.parent // 父级窗口

转载于:https://www.cnblogs.com/zhouwenwu/archive/2012/02/28/2371476.html

相关文章:

  • Codeforces - 1202D - Print a 1337-string... - 构造
  • 通用权限管理系统组件 (GPM - General Permissions Manager) 中实现大数据的高效分页显示...
  • 《学习之道》第十六章左脑的作用
  • Entity Framework 4.3尝试体会
  • 英汉《营销学》常用词汇-1
  • opencv源码解析之(2):滤波前言2
  • 流媒体服务器搭建实例——可实现录音,录像功能
  • Redis之hash数据结构实现
  • SCUT - G - 魔法项链 - 树状数组
  • SCUT - 482 - 生成树上的点 - Prufer
  • ACM算法相关资料
  • 洛谷 - P1462 - 通往奥格瑞玛的道路 - 二分 - Dijkstra
  • 洛谷 - P1522 - 牛的旅行 - Cow Tours - Floyd
  • wamp5环境配置基础教程
  • 模板 - Floyd
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • Mithril.js 入门介绍
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • MYSQL 的 IF 函数
  • Python_OOP
  • yii2权限控制rbac之rule详细讲解
  • 从0到1:PostCSS 插件开发最佳实践
  • 构造函数(constructor)与原型链(prototype)关系
  • 基于 Babel 的 npm 包最小化设置
  • 基于HAProxy的高性能缓存服务器nuster
  • 简单基于spring的redis配置(单机和集群模式)
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 驱动程序原理
  • 手机端车牌号码键盘的vue组件
  • 译有关态射的一切
  • 用element的upload组件实现多图片上传和压缩
  • 【干货分享】dos命令大全
  • Java性能优化之JVM GC(垃圾回收机制)
  • ​linux启动进程的方式
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #Java第九次作业--输入输出流和文件操作
  • #Spring-boot高级
  • (4) PIVOT 和 UPIVOT 的使用
  • (Java)【深基9.例1】选举学生会
  • (Java数据结构)ArrayList
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (分类)KNN算法- 参数调优
  • (论文阅读11/100)Fast R-CNN
  • (转)Linux下编译安装log4cxx
  • (轉)JSON.stringify 语法实例讲解
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET Framework与.NET Framework SDK有什么不同?
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .NET文档生成工具ADB使用图文教程
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @GlobalLock注解作用与原理解析