Rails Will_paginate 对数组分页
首先引入will_paginate/array文件
config/application.rb
1
|
|
1 2 3 4 |
|
首先引入will_paginate/array文件
config/application.rb
1
|
|
1 2 3 4 |
|
2.1 安装 SASS是Ruby语言写的,但是两者的语法没有关系。不懂Ruby,照样使用。只是必须先安装Ruby,然后再安装SASS。 假定你已经安装好了Ruby,接着在命令行输入下面的命令: gem install sass 然后,就可以使用了。 2.2 使用 SASS文件就是普通的文本文件,里面可以直接使用CSS语法。文件后缀名是.scss,意思为Sassy CSS。 下面的命令,可以在屏幕上显示.scss文件转化的css代码。(假设文件名为test。) sass test.scss 如果要将显示结果保存成文件,后面再跟一个.css文件名。 sass test.scss test.css SASS提供四个编译风格的选项: nested:嵌套缩进的css代码,它是默认值。 expanded:没有缩进的、扩展的css代码。 compact:简洁格式的css代码。 compressed:压缩后的css代码。 生产环境当中,一般使用最后一个选项。 sass —style compressed test.sass test.css 你也可以让SASS监听某个文件或目录,一旦源文件有变动,就自动生成编译后的版本。 // watch a file sass —watch input.scss:output.css // watch a directory sass —watch app/sass:public/stylesheets SASS的官方网站,提供了一个在线转换器。你可以在那里,试运行下面的各种例子。 三、基本用法 3.1 变量 SASS允许使用变量,所有变量以$开头。 $blue : #1875e7; div { color : $blue; } 如果变量需要镶嵌在字符串之中,就必须需要写在#{}之中。 $side : left; .rounded { border-#{$side}-radius: 5px; } 3.2 计算功能 SASS允许在代码中使用算式: body { margin: (14px/2); top: 50px + 100px; right: $var * 10%; } 3.3 嵌套 SASS允许选择器嵌套。比如,下面的CSS代码: div h1 { color : red; } 可以写成: div { hi { color:red; } } 属性也可以嵌套,比如border-color属性,可以写成: p { border: { color: red; } } 注意,border后面必须加上冒号。 在嵌套的代码块内,可以使用$引用父元素。比如a:hover伪类,可以写成: a { &:hover { color: #ffb3ff; } } 3.4 注释 SASS共有两种注释风格。 标准的CSS注释 / comment / ,会保留到编译后的文件。 单行注释 // comment,只保留在SASS源文件中,编译后被省略。 在/后面加一个感叹号,表示这是”重要注释”。即使是压缩模式编译,也会保留这行注释,通常可以用于声明版权信息。 /! 重要注释! */ 四、代码的重用 4.1 继承 SASS允许一个选择器,继承另一个选择器。比如,现有class1: .class1 { border: 1px solid #ddd; } class2要继承class1,就要使用@extend命令: .class2 { @extend .class1; font-size:120%; } 4.2 Mixin Mixin有点像C语言的宏(macro),是可以重用的代码块。 使用@mixin命令,定义一个代码块。 @mixin left { float: left; margin-left: 10px; } 使用@include命令,调用这个mixin。 div { @include left; } mixin的强大之处,在于可以指定参数和缺省值。 @mixin left($value: 10px) { float: left; margin-right: $value; } 使用的时候,根据需要加入参数: div { @include left(20px); } 下面是一个mixin的实例,用来生成浏览器前缀。 @mixin rounded($vert, $horz, $radius: 10px) { border-#{$vert}–#{$horz}-radius: $radius; -moz-border-radius-#{$vert}#{$horz}: $radius; -webkit-border-#{$vert}–#{$horz}-radius: $radius; } 使用的时候,可以像下面这样调用: #navbar li { @include rounded(top, left); } #footer { @include rounded(top, left, 5px); } 4.3 颜色函数 SASS提供了一些内置的颜色函数,以便生成系列颜色。 lighten(#cc3, 10%) // #d6d65c darken(#cc3, 10%) // #a3a329 grayscale(#cc3) // #808080 complement(#cc3) // #33c 4.4 插入文件 @import命令,用来插入外部文件。 @import “path/filename.scss”; 如果插入的是.css文件,则等同于css的import命令。 @import “foo.css”; 高级用法
@if可以用来判断:
1 2 3 4 |
|
配套的还有@else命令:
1 2 3 4 5 |
|
SASS支持for循环:
1 2 3 4 5 |
|
也支持while循环:
1 2 3 4 5 |
|
each命令,作用与for类似:
1 2 3 4 5 |
|
SASS允许用户编写自己的函数。
1 2 3 4 5 6 |
|
Github Address: [https://github.com/vakata/jstree]
Before I Begin, The ActiveModel API Before I begin, there are two major elements to ActiveModel. The first is the ActiveModel API, the interface that models must adhere to in order to gain compatibility with ActionPack’s helpers. I’ll be talking more about that soon, but for now, the important thing about the ActiveModel API is that your models can become ActiveModel compliant without using a single line of Rails code.
In order to help you ensure that your models are compliant, ActiveModel comes with a module called ActiveModel::Lint that you can include into your test cases to test compliance with the API:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
The ActiveModel::Lint::Tests provide a series of tests that are run against the @model, testing for compliance.
The second interesting part of ActiveModel is a series of modules provided by ActiveModel that you can use to implement common model functionality on your own Ruby objects. These modules were extracted from ActiveRecord, and are now included in ActiveRecord.
Because we’re dogfooding these modules, you can be assured that APIs you bring in to your models will remain consistent with ActiveRecord, and that they’ll continue to be maintained in future releases of Rails.
The ActiveModel comes with internationalization baked in, providing an avenue for much better community sharing around translating error messages and the like.
This was perhaps the most frustrating coupling in ActiveRecord, because it meant that people writing libraries for, say, CouchDB had to choose between painstakingly copying the API over, allowing inconsistencies to creep in, or just inventing a whole new API.
Validations have a few different elements.
First, declaring the validations themselves. You’ve seen the usage before in ActiveRecord:
1 2 3 |
|
To do the same thing for a plain old Ruby object, simply do the following:
1 2 3 4 5 6 7 8 9 10 |
|
文件存储位置为/etc/init.d/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|
通过chkconfig命令添加自启动:
1 2 |
|
至此,重启系统后,该Rails程序用随系统启动。
因为工作需要,要分析存放在SQL Server上的数据,所以不得不研究一下如何使用Ruby访问SQL Server,发现其实还是很简单的:
== 安装FreeTDS ==
ruby
aptitude install freetds-dev
ruby
sudo gem install tiny_tds
用[https://github.com/rails-sqlserver/tiny_tds]访问SQL Server很简单:
1 2 3 4 5 6 7 |
|
1
|
|
配置database.yml如下:
1 2 3 4 5 6 |
|
debian系统下,不建议使用编译安装方式进行安装,以避免无法生成png格式图片的错误,以下为debian系统使用aptitude安装R的过程
1 2 |
|
1
|
|
方式2: 创建名为key的文本,文本内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
添加key
1
|
|
更新源列表
1
|
|
1
|
|
安装了这些库之后,必须要重新执行configure命令,configure之后会有提示哪些依赖的库没有安装,可以根据你的需要放弃安装一些库;上面的操作可以使用下面的命令实现:
1 2 3 4 5 |
|