Rails-找不到外键的原因(严肃的错误)
class Scenario < ActiveRecord::Basehas_one :Planendclass Plan < ActiveRecord::Basebelongs_to :Scenarioend一对一的关系,数据库表名是正确的(事后证明),View和Controller中的代码也是正确的,问题在哪里?在Model中has_one和belongs_to后面的标号,这个标号不是类名而是表名的单数形式 ,表名是小写的(mysql中),所以标号也要小写,所以上面是错的!PS:Rails中有这么一个问题就是Model类如果是Scenario,那么它认为表名应该是Scenarios而不是Scenarioes。[@more@]
Rails的select_tag
<% form_tag :action => 'create' do %><select name="post[category_id]"> <% @post_categories.each do |c| %> <option value="<%=c.id%>"><%=c.name%></option> <% end %> </select> <%= submit_tag "Create" %><% end %>[@more@]
Rails分页
@page_scenario,@scenario=paginate(:Scenario,:per_page=>perpage,:order_by=>"id")@page_scenario保存了paginate相关的信息,@scenario保存了这一页的model实例,本例中model类是通过:Scenaro指定的,perpage是一页中显示的个数。在View视图文件中,分页表格附近某个位置加上这句<%= pagination_links(@page_scenario) %>[@more@]
ActiveRecord笔记【z】
find()方法1、:all找出所有符合条件的记录2、:first找出符合条件的一条记录,不一定是应用程序创建的第一条记录3、:conditions指定SQL语句中的where子句的查询条件,其值可以是一个SQL字符串;也可以是一个数组,其中包含带有占位符的SQL语句,以及各个占位符实际的值。如:orders=Orders.find(:all,:conditions=> "name='Dave'") #值为SQL字符串name=params[:name]orders=Orders.find(:all,:conditions=> ["name=?",name]) #值为数组,?是占位符,name是占位符的实际值orders=Orders.find(:all,:conditions
LoadRunner Proxy
LR中设置代理的方法如下:web_set_proxy("bkj-station4.jaring.my:80");[@more@]
Rails中文化不需要瞎折腾
环境:Rails 1.2.5ruby 1.8.5 (2006-08-25) [i386-mswin32]MySQL:mysql> status--------------mysql Ver 14.12 Distrib 5.0.27, for Win32 (ia32)Connection id: 13Current database: Current user: root@localhostSSL: Not in useUsing delimiter: ;Server version: 5.0.27-community-ntProtocol version: 10Connection: localhost via TCP/IPServer characterset: utf8Db characterset: utf8Client characterset: utf8Conn. characterset: utf8TCP port: 3306Uptime: 23 min 37 secThreads: 3 Questions: 242 Slow
mysql备份
mysqldump -u[user] -p[password] [databasename] > [dump_name] 在将 dump_name 这个档案复制到另一台计算机上 另一台计算机上先进入mysql 建立一个 database 再执行下列指令 mysql -u[user] -p[password] [database_name] < [dump_name][@more@]
text_field用法
text_field(object_name, method, options = {}) object_name是model名 method传递你要显示的字段就可以了 options 和html下的名字形同 rails会自动为该text增加默认值。 text_field( "post ", "title ", "size " = > 20) = <input type= "text " id= "post_title " name= "post[title] " size= "20 " value= "#{@post.title} " / >[@more@]
Rails中删除数据对象
<%= link_to 'Destroy', { :action => 'destroy', :id => feature }, :confirm => '请确认是否删除', :post => true %>[@more@]
SQL语句基础学习之Alter Table [记不住呀呵呵]
在表格被建立在资料库中后,我们常常会发现,这个表格的结构需要有所改变。常见的改变如下:加一个栏位 删去一个栏位 改变栏位名称 改变栏位的资料种类 以上列出的改变并不是所有可能的改变。ALTER TABLE 也可以被用来作其他的改变,例如改变主键定义。ALTER TABLE 的语法如下:ALTER TABLE "table_name"[改变方式][改变方式] 的详细写法会依我们想要达到的目标而有所不同。再以上列出的改变中,[改变方式] 如下:加一个栏位: ADD "栏位 1" "栏位 1 资料种类" 删去一个栏位: DROP "栏位 1" 改变栏
Selenium视频操作演示
下面的链接是SeleniumIDE的一个视频操作演示,感觉Selenium还需要大力发展,IDE录制的脚本到了RC中怎么就无法执行?希望有同好之人能一起讨论讨论哪里出了问题。http://wiki.openqa.org/download/attachments/400/Selenium+IDE.swf?version=1[@more@]
Ruby----RMagick安装报错
报错是什么什么Error我忘记了排错的方法是gem update --system原因是gem版本太旧之后再进入RMagick的下载目录运行gem install rmagick --local[@more@]
loadruner参数化的记载[转]
loadruner参数化的记载关键词: loadruner参数化的记载 1、 说明书中loadruner参数化的记载 update value on each iteration(迭代或者循环) :运行时,在每一次的循环中都取相同的值。 实践一(与定义的相反),对所有用户第一次执行迭代时取第一个值,第二次执行迭代时取第二个值........一直下去,比喻:一个参数的值为,kim,david,michael......,第一个循环时,取kim,第二次循环时,取david........ ,单次迭代时都是一个值; each occurrence (出现):运行时,每遇到一个
关于性能测试的一般性分类[Z]
关于性能测试的一般性分类作者:杨博日期:2007-3-31约束:文档数据为举例数据,实际项目数据需要按实际需求设计性能测试一般情况下性能测试是指被测试系统在特定硬件,软件,网络环境条件下,在系统允许的负载情况下,通过不同数量的v user所需要的总体时间。例如:系统允许的最大负载为320 v user.可以测试的v user数据为: [@more@] 特定用户量时 总体与平均响应时间。1 . 50 v user, total time, average response time.2 .100 v user, total time, average response time.3 .200 v user, total time,
Loadrunner学习笔记之ip欺骗[Z]
ip欺骗设置:1.在总控机上使用loadrunner->tools->ip wizard工具设置虚拟ip,其中server ip指要监控的服务器的ip,添加ip时选择A、B或C类ip,设置开始ip和要添加的虚拟ip的个数,并选中verify the new ip addresses are not already use,已检查添加的ip是否与局域网中的其它ip冲突2.重启机器3.在controller的scenario中勾选enable ip spoofer,启用虚拟ip3.在controller的tools中选中expert mode,在options->general中设置multiple ip address mode与run-time settings中的multithreading设置保持一致4.在load generators中选择
随便写俩Loadrunner函数
1、sprintf:合并两个参数,并将其保存为基本参数;sprintf(ParamVI,"%s%s",lr_eval_string("{NewParam_ItrationNbr}"),lr_eval_string("{ParamVUID_Nbr}"));2、lr_save_string:保存参数用;lr_save_string(ParamVI,"ParamVI");3、atoi:字符转数字;4、itoa:数字转字符;5、intlength:判断字符串长度;PS:LoadRunner的Controller设定脚本执行时长的优先级大于迭代次数,如果迭代10次之用10分钟,而你设置执行100分钟,那就不会只迭代10次,说不定是100次。[@more@]
Watir+AutoIT学习笔记之---AutoIT调用
Watir+AutoIT就是如下的样子:require 'win32ole'$autoit = WIN32OLE.new("AutoItX3.Control")$autoit.mouseclick "left"$autoit.run("notepad.exe")$autoit.WinWaitActive("无标题 - 记事本")$autoit.Send("This is some text.")很好,很强大。通吃CS/BS架构的软件测试了。[@more@]
Watir笔记之---screen_capture
require 'watir'require 'test/unit' require 'watir/screen_capture'include Watir::ScreenCapture#要求一定要安装Autoitclass TC_Screen < Test::Unit::TestCasedef test_a_Screenfile_name= "123.jpg" screen_capture(file_name,false,false)#就是这句话,false是全屏截图。puts File.expand_path(__FILE__)puts File.expand_path(file_name)assert((file_name)) endend[@more@]
Ruby小记--字符串转字符数组
str="fadferw12345"s=[]str.each_byte{|x|s<<"%c"%x}p s["f", "a", "d", "f", "e", "r", "w", "1", "2", "3", "4", "5"]思路开阔一点还有别的简单的方法,比如:irb(main):021:0> p "lala123czhengsea".scan(/./)["l", "a", "l", "a", "1", "2", "3", "c", "z", "h&
值得收藏的Watir笔记
开发测试案例(Developing Test Cases)1.打开编辑器 2.以.rb为你的文件扩展名 3.在测试文件的第一句写上“require 'watir'”,确保可以访问Watir工具。 4.打开浏览器并转到要测试的应用 5.与之交互并设计你的testcase 6.在测试脚本中使用Watir方法 7.验证结果 与网页交互(Interacting With a Web Page)当使用Watir开发测试脚本的时候,通过给网页上的对象发送消息来与之交互。 ie.text_field(:name , "q").set("bluescorpio") ie.button(:value , "Click Me").click Watir语法(Watir Syntax) 1.使用Wa