- 浏览: 21243 次
- 性别:
- 来自: 北京
最新评论
文章列表
presence的作用是,当前对象为空或为nil的时候返回nil,其他情况返回对象的值。
假如我们想让当前对象为空或nil的时候返回值0,那我们可以写presence.to_i
有两个model:User、Department
Department has_many Users
当用户的department_id为null时,我们写a = User.first,a.department.name时会抛出错误。
我们改写为a.department.try(:name)就会返回nil
Article.find(:id) 如果id不存在的话,会抛出异常
Article.find_by_id(:id) 如果id不存在的话,返回nil
当遇到如下resources时
namespace :a do
namespace :b do
resources :c
end
end
simple_form按以下格式写,即可对应resources
<%= simple_form_for [:a,:b, @c] do |f| -%> .............. <% end -%>
在gemfile里添加 gem 'devise'
bundle之后在项目路径下执行 rails generate devise:install
然后执行以下命令创建用户表 rails generate devise model文件名
参考文档https://github.com/plataformatec/devise
API文档 http://rubydoc.info/github/plataformatec/devise/master/frames
animation 是否显示加载图表时的动画palette 内置的图表样式,共5个paletteColors 自定义图表元素颜色(为多个,如过过少会重复)showAboutMenuItem 右键是否显示"关于FusionCharts"aboutMenuItemLabel 右键关于自定义文字aboutMenuItemLink 右键关于自定义链接(FusionCharts链接格式)showZeroPies 是否显示0值的饼showPercentValues labels上是否显示百分数showPercentInToolTip tip上是否显示百分数showLabels 是否显示 ...
$ rvm info
$ rvm info 1.9.2
$ rvm list known
$ rvm install 1.9.2 # 安装 ruby-1.9.2
$ rvm install ree # install Ruby Enterprise Edition (REE)
$ rvm ruby-1.8.7-p160 #切换1.8 ...
在编译安装数据库的时候,最好把一些配置设置好,避免以后再修改,麻烦
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/mysql \ #安装路径
-DMYSQL_DATADIR=/usr/mysql/data #数据文件存放位置
-DDEFAULT_CHARSET=utf8 \ #默认字符
-DDEFAULT_COLLATION=utf8_general_ci \ #默认字符集
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
-DWITH_DEBUG=0 \ #bool值,表示 ...
一般情况下,Mysql的配置文件在 /etc/my.cnf或者/etc/mysql/my.cnf。
打开该文件 vi /etc/my.cnf
mysql5.5以下版本做如下修改
在[mysqld]下添加
default-character-set = utf8
在[client]下添加
default-character-set = utf8
mysql5.5及以上版本做如下修改
在[client]下添加
default-character-set = utf8
在[mysqld]下添加
character-set-server = utf8
在Ruby布局文件中的head标签之间加入这么一行<%= csrf_meta_tag %>,可以起到防止跨站点请求的外部攻击的作用。
在页面执行后,它会给html页面添加类似如下两行的代码:
<meta content="authenticity_token" name="csrf-param" /> <meta content="do79QdaDz7OgR45eAjqt8fwxTiAxNrw96qcCpa0lGiI=" name="csrf-tok ...
Rails 数据库迁移命令的写法整理
创建迁移任务
rails g migration migration_name
一般创建完后,生成文件里有两个action,一个up(rails3.0以下版本是self.up),用于存放你要改变数据的指令,一个down(rails3.0以下版本是self.down),用于存放恢复刚才up的操作的指令。
3.1版rails开始,增加了change方法,它相当于以前的up,神奇的是它会自动推测你down的方法。如果有些up或down操作是不可逆的,建议还是自己写up和down方法。
创建表
create ...
安装好Ruby以后gem的源一般默认为http://rubygems.org/,这个源有时候不太好用,我们可以改成国内淘宝的。目前我在windows下开发,打开cmd窗口,敲以下命令即可。
显示当前使用的sources gem sources
删除默认sources gem sources -r http://rubygems.org/
添加淘宝sources gem sources -a http://ruby.taobao.org/
更新缓存 gem sources -u
相同点:
都是带索引的集合。
都是用来存储对象集合的。
都可以通过键来访问。
都可以动态增加内存空间来存储新元素。
都能保存任何类型的对象。
不同点:
数组的键是整数,哈希可以是任何对象。
数组访问效率更高,哈希访问更灵活。
数组用方括号[]来创建和初始化,哈希用花括号{}来创建和初始化。
各自特点:
数组array:
a = ['ant', 'bee', 'cat', ...
Ruby的字符串对象生成有两种方式,字符串文字值加单引号或加双引号。
两种方式主要区别在于构造文字量时,对字符串的处理次数不同。
单引号时,Ruby对字符串值不做处理,里边是什么就是什么。
双引号时,Ruby首先要查找文本中要替换的字符,即带反斜杠的字符,用二进制替换。最常见的就是\n;其次,这种方式下可以插入表达式#{...},那就要处理表达式,将其替换成具体的值。
1、局部变量名、方法参数名和方法名都必须以小写字母或下划线开头。例:order、order_item、order123。
2、实例变量名要以@作为前缀。如:@order。
注:对于以上两类,ruby通常习惯用下划线来分隔一个多词方法或变量名中的单词。
3、类名、模块名和常量名必须以大写字母作为开头。
注:对于包含多个单词的名称,通常使用单词首字母大写来分辨单词的开始。
4、rails用符号数据类型来标识事物,符号我觉得可以按变量名对待。符号以冒号作为前缀,如::id、:action。
5、其他:ruby以#表示注释,以#开始到行尾;以e ...