- 浏览: 33698 次
- 性别:
- 来自: 东台
最新评论
-
moneyinto:
white_crucifix 写道判断10和11应该还比较少吧 ...
判断浏览器类型的一些方法 -
white_crucifix:
判断10和11应该还比较少吧,毕竟没有7、8的兼容性这么坑
判断浏览器类型的一些方法 -
csuwqz:
不错,总结得挺好
ruby数组和哈希学习笔记 -
moneyinto:
yoyo837 写道a[name] = moneyinto;n ...
三种数据结构 -
yoyo837:
moneyinto 写道这是哈希的存储方式,a[age] = ...
三种数据结构
文章列表
学习了一段时间的rails on ruby,对rails路由有了些了解,做个总结。
首先进入工程文件夹下输入:
rails g controller users
这时生成users_controller.rb以及对应的控制器Users,生成的Users控制器会自动更新路由文件(route),rails通过这个文件寻找URL和网页之间的对应关系。
比如现在在views/users中有两个页面文件,login.html.erb和sign_up.html.erb
配置路由:
第一种方法,在routes.rb文件里:
Rails.application.routes. ...
在做活动通的同步功能时,需要手机端向服务器端提交数据,这时需要用到$http,使用post请求方式。
在网上了解到http通信中有POST和GET的请求方式。GET可以获得静态页面,也可以把参数放在URL字符串后面,传递给服务器。POST方法的参数放在Http请求中。
对于两者的比较,我了解到,POST请求向服务器传送数据,数据放在HTML HEADER内一起传送到服务端URL地址,数据对用户不可见,传送的数据量比较大,一般不受限制,安全性高。而GET把参数提交到URL中,值和表单的内的各个字段一一对应,且传送的数据量较小,不到2kb,安全性低。
下面 ...
首先初始化一个数据库:
rake db:create;rake db:migrate
接着生成一个数据库和资料表:
rails g model user name:string password_digest:string token:string
rake db:migrate
资料表有name和password_digest两个属性(password_digest是ruby的加密 ...
简略的说,redirect_to是执行页面的跳转,发送请求重定向页面,执行对应的action,重新加载服务器数据,不保留页面原有数据;
render是简单的页面渲染,可以指定渲染页面和布局文件,不会发送请求,不会执行action函数,不会重新加载服务器数据。
这里举个例子说明一下:
users_controller.rb:
def create_login_session
user = User.find_by_name(params[:name])
if user && user.authenticate ...
1.在安装nginx和部署rails工程之前,先让rails工程在production下跑起来
我这里说的是sqlite3的数据库,
在Gemfile中添加:
gem 'yaml_db'
接着在工程文件夹下:
bundle install
rake db:dump //迁移数据库
在config/database.yml文件添加如下内容:
production:
<<: *default
database: db/development.sqlite3
加载数据库:
rake db:load RAILS ...
1.ruby页面链接中值的获取
{:controller =>'demo',:action => 'index',:page =>3 :per_page =>10}
当Rails建连接时,按照顺序查看各个参数的值。首先查看指向的Controller的名字用“controller”表示,如果没有指定则缺省为当前页面对应的Controller。Action名字用“action”表示,如果没有定义Action名字,则缺省为当前页面对应的Action。id也作为标准参数的一部分使用“id”表示,之外的就是附加的参数。所有这些都会被放入params列表中,后面的程序就从p ...
1.用rails搭建工程
rails -v //查看rails是否安装
rails new baby //建一个名为baby的工程
2.登录注册
推荐大家看看这样一个视频:http://happycasts.net/episodes/84?autoplay=true
首先初始化一下数据库:
rake db:create;rake db:migrate
生成user model和表:
rails g model user name:string password_digest:string token:string
rake db:migrate ...
TDD是Test Driven Development的简称,即为测试驱动开发,是极限编程中倡导的开发方法,倡导先写测试再写功能。
这里主要以我做的一个练习测试随机四位数的例子来讲讲。
首先,下载一个写测试的工程。推荐网址:http://jasmine.github.io/2.0/introduction.html
先介绍一下 测试的基本模块:
describe("print_number", function () {
afterEach(function () {
});
beforeEach(function () {
...
首先看看这三种数据结构:
第一种,只存一个数组:
activities = [
{
name: "first activity",
sign_ups:[],
bids:[]
},
{
name: "second activity",
sign_ups: [
{
name:"仝键",
...
AngularJs用的是前端路由,页面是一个单页面,先对指定的ng-app,定义路由规则(routeProvider),然后通过不同的URL,告诉ng-app加载哪个HTML,渲染到视图(ng-view)上。
使用路由机制:
$routeProvider提供了定义路由表的两个核心方法when(path,route)和otherwise(params)
首先看when(path,route),它当中的path与($location.path)的值进行匹配,如下:
})
.when('/about', {
templateUrl: 'views/about.html ...
大家写代码一般会用到github的库,上传每次实现功能的代码,我想讲讲git是如何创建库以及一些我认为常用的命令。
首先要有个github的帐号,在环境变量配置里已经讲到了,这里就不多说了。
登录到github,会看到+new repository ...
关于party_bid项目代码的重构,就我目前的了解做一基础的小结。
这里我主要讲如何缩减代码。
关于缩减代码,现在我用的主要是underscore的一些方法。
1.用find方法去除for循环嵌套if判断语句
看下面一段代码:
for (var n = 0; n < activities.length; n++) {
if (activities[n].name == bidList[0].activityName) {
//(中间代码省略)中间假设是对循环找到的活动的对象中的一个属性进行改动,比如status,将它的值改 ...
1.弹窗
弹窗,常用的有confirm()和alert()两种,这里想介绍以下自定义的弹窗。
大家可以登录http://v3.bootcss.com/javascript/
下载JavaScript插件,解压后在自己的工程里引入相关的js,css文件。
然后找到模态框,点击进入可以看到很多不同样式的模态框以及相对应的代码,还有用法的简介,可以找寻适合自己工程的模态框,然后拷贝对应的代码,代码可以根据自己的需要进行一些改动,使得模态框更符合工程需要。
首先确定自己要用的模态框的页面,比如bidding_result.html,我在该页面写入如下模态框的代码:
<div cl ...
party_bid 的第二张卡和第三张卡都涉及到接受信息和回复信息,并对收到的信息进行处理。这里我把两张卡合并起来一起总结。
1.首先是对接收到的信息进行处理,信息分为报名和竞价,报名是以“bm”开头的信息,竞价是“jj”开头。我们要处理的主要是它们后面的信息。这里需要用到正则表达式:
var message = json_message.messages[0].message.replace(/\s/g, "");
message.search(/jj/i)
message.substr(2)
讲讲这三个语句的意 ...
对于一个经常在linux系统下写程序的人,了解了解一些linux的基础的快捷键和终端的一些命令还是挺重要的,可以方便自己的操作,提高速度。
下面就来简单的总结一些:
快捷键,linux可以有多达6个终端,可以通过Ctrl+Alt+T来打开终端,Ctrl+D来关闭终端,如果想用全屏的终端可以Ctrl+Alt+F1(F1~F6可以打开6个终端操作界面,F7是图形界面操作界面,想回到原先的界面就用Ctrl+Alt+F7,注:在终端下Ctrl+Alt+delete会使电脑重启)。
Alt+Tab 切换不同窗口
Ctrl+ ...