(1)git clone 地址
sudo apt-get install ...
Ctrl + Shift + y : 定位元素,检查样式
Rake --task 查看相关命令
Gem list 查看安装的相关插件
Rake spec:db:fixtures:load 加载构造数据(features)
(2)Shift + r + r : 链接ruby on rails 帮助
(2.2):%s/created_at/created+at-------------------------批量替换
(3)再换数据库进行全文检索时要重置序列:Conversation.rebuild_index
(4)在script/console下,怎样查user
User.find_by_login(‘duty’)——login必须是user数据库表中的字段
(5)开启缓存
ps –A | grep mem---------------找到缓存的id
sudo kill –9 ...---------------删除此id
memcached –d –m 20------------分配20M的内存
mongrel_rails restart-----------重启服务
(5.5)/usr/local/ruby/lib/ruby/gems/1.8/gems --------------所有插件安装路径
(6)在做cucumber测试时怎么打印出页面内容
在web_cn_steps.rb文件里输入puts response.body
(7)怎样去掉副文本框自带的样式如<p></p>
用strip_tags 相关方法 h simple_format(显示时换行)
(8)删除资料库时,当他还有子目录在树形结构中能一起删除,但是在查询界面只能删
除父节点。原因没有联级,在materails.rb文件里的children里加:depend=>:destroy
(9)批量修改
Ctrl + v -------------------------选中要改的那几行
Shift + I-------------------------输入状态为插入
Ecs-------------------------------推出插入状态
(10)在新增数据库字段时,以前的老数据没有该字段的记录,那么要设定default=>0
add_column :notices, :topped, :integer, :default => 0, :comment => "是否置顶"
(11)搜索文件中的方法或文字
grep –r 文字 .
grep –r ‘def 方法名’ .
(12)将按钮放到j-panel-text上:只要在j-panel-text的下面加%span+链接(参考示例role)
(13)只取南山的行政区划District.under(District.top.first).each do |district|
领导首页有用到
(14)在魏鹏那把数据打出来:p “start: #{district.code}”
(15)解决首页图片自适应分辨率问题
1、在j-misc.css文件中定义样式,根据需要定义right-tab(width:55%)、desktop-right-tab(width:55%)、leader-
tab(后补的)取值:width:100%,height: expression (document.documentElement.clientHeight/2 - 47)这样才
不变形
2、在desktop/index.rb文件中的普通用户中调用right-tab,领导首页调用desktop-right-tab,领导首页的图片调用leader-
tab
(16)哪些文件不会上传到服务器是在cat .gitignore文件中配置的。
(17)用于屏蔽副文本框样式truncate(strip_tags(notice.content), :length => 40)
(18)资料库和公告使用副文本框时,new页面不能用content,cucumber测试通不过,
要用_content_editor_hidden(查看源码与id名相同才能通过),同时在cn.yml
文件中也要添加相应的字段。而且在头部要将:before(ajax提交)改为:onsubmit(js提交)
(19)rake db:migrate:down VERSION=20091127012313(日期)回滚数据脚本,检测在新
增字段时是否删除了此字段,若出现2个就表示没有删除。
(20)ruby自动提示:
在插入状态下:按vu/vp...+Tab+Tab+...+ESC
文件路径:cd ~/.vim
ls snippets/
ls snippets/ruby-rails
cat snippets/ruby-rails/aen.snippet
cd snippets/ruby-rails
ls
cat vu.snippet/**
(21)进行了(19)小点的操作后,在数据库中看是否生效script/dbconsole –p(在down
后输入connect,即可刷新),在script/console中用reload!来刷新
(22)增加附件上传功能后,首页中的ajax提交不能支持多附件上传,所以只要有附件 上传功能的就改为js代码。在new页面要指定:class => 'multi nofixed'
(23)将现有的本地文件保存起来git stash------------------存储
git status------------------查看
git stash apply-------------恢复
(24)系统颜色的配置:sessions_helper.rb
(25)上报下派页面的指定:在conversation/shift页面上添加隐藏域,
hidden_field_tag :operate_type, :down然后在conversation_controller页面
上传参数过来并作判断if params[:operate_type] == 'down'
(26)受理事项新增页面的行政区划、网格、楼栋和楼栋信息的连动性:
1、在convsation/_form.rb页面要注意定义的id(将此值传到后台,要保持一致)
2、在building_controller.rb文件里加方法(使用ajax提交)
3、要注意new页面和edit页面的特殊处理(为new时不要显示楼栋信息,当修改
时已选楼栋,则要保存楼栋信息(@conversation.building_id)
(27)从社区取数据的原理
1、增加定时任务.bat文件,凌晨时段开始从社区取数据
2、所取数据保存在本地数据库audit中,系统从数据库中取数据来提升速度
3、第一次取数据时要在script/console中执行Audit.get_building方法
(28)belongs_to和has_many/has_one的原理
1、以building与grid、grid和district为例
building(默认值为id) grid(默认值为id)
若想改变默认值可以通过外键来指定,如:
belongs_to:district, :primary_key => “code”, :forgen_key => “district_code”
grid district
(29)gem list | grep cucu ---------------------查看cucumber是哪个版本
(30)%table.report_footer.report_search是用来屏蔽打印的
标题的换行处理
日期格式在oracle数据库下是英文的解决办法:在日期后面加.to_s(:short)
高级查询方法search_condition在application_controller.rb文件中指定,是有高级
查询时若里面有单选按钮,则应该在对应的*.controller.rb文件中指定conditions
维稳实例:受理事项一览表的高级查询,涉及的文件reports/_advsearch.haml、
reports_controller.rb、application_controller.rb
对象名与字段名不能相同:如拟办人
自动分派的和直接办结(判断是否是直接办结:没有分派记录且状态为41)
拟办人取受理人,否则取advicer
(34)从新建文件开始:
a)script/generate rspec_scaffold + 文件名(不用加s,ruby会自动改成复数形式)
a.1)若只创建model,则script/generate rspec_model+文件名
a.2)若只创建controller,则script/generate rspec_controller+文件名
b)将.html.erb的文件全部删除(rm+文件路径),在用cp app/views/users/new.haml
app/views/tests/new.haml复制必须的文件
c)\r(刷新)后编写代码(vim)
d)编写测试用例*_spec.rb、*_controller_spec.rb
e)跑单元测试(
e.1)spec spec/models/test_spec.rb
e.2)spec spec/controllers/tests_controller_spec.rb
f)跑黄瓜测试
f.1) 复制文件cp features/manage_users.feature features/manage_tests.feature
f.2)cucumber features/manage_tests.feature --language=zh-CN(若测试过多,只需测
试@focus,则在后面加-t focus)
f.2.1)与黄瓜测试相关的文件都在*_steps.rb文件中
g)selenium测试http://192.168.1.34:3000/selenium/TestRunner.html?test=tests(服务器
必须为mongrel_rails start -e test -d)
h)服务的启动
h.1)oracle测试环境:mongrel_rails start -e test_oracle -d
h.2)开发环境: mongrel_rails start --prefix=/zbs -d
h.3)成品环境: mongrel_rails start production--prefix=/zbs -d(前提:在database.yml
中将开发环境要成品环境互换)
i)将文件提交至服务器
git add .(git add -i选几个文件上传)
git commit -m '备注'
i.1)git push
git pull(服务在github上时)
i.2)git svn rebase
git svn dcommit
日期范围查询时的问题(终止日期要加1天params[:search][date].to_date.tomorrow)
:created_at_lte改为:created_at_lt(其中e代表equal,lte=>less then equal),实例:
受理事项一览表的高级查询
动态创建iframe
%iframe#iframe_helper{:onload => 'printPage();'}详细实例见:分派时打印分派
通知书。
<a>查看日志
# 检查服务器后台运行情况
tail -f log/development.log
<b>数据库迁移(test)
rake db:migrate RAILS_ENV=test
<c>#数据库回滚3步
rake db:migrate:redo STEP=3
<d>数据库重置
rake db:migrate:reset RAILS_ENV=test
rake spec:db:fixtures:load RAILS_ENV=test (test库)
rake db:migrate:reset
rake spec:db:fixtures:load (开发库)