随笔分类 - RoR

摘要: 在控制台运行Ruby的Model中的方法:进行项目工作空间,如f:cd workspacecd rubyDemo运行:ruby script/console productionUser.add_userexitreload等命令阅读全文
posted @ 2013-04-01 16:13 残星 阅读(53) | 评论 (0) 编辑
摘要: def export csv_string = FasterCSV.generate do |csv| csv 'text/csv;',:disposition => "attachment; filename=product.csv" enddef self.import_db(f...阅读全文
posted @ 2012-12-07 09:34 残星 阅读(269) | 评论 (0) 编辑
摘要: 安装XML Buildergem install builderclass CatalogController "1.0" @xml.catalogs{ for catalog in @catalogs @xml.catalog do @xml.journal(catalog.journal) @xml.publisher(catalog.publisher) @xml.edition(catalog.edition) @xml.title(catalog.title) @xml.author(catalog.author) end ...阅读全文
posted @ 2012-12-03 13:53 残星 阅读(61) | 评论 (0) 编辑
摘要: $! 最近一次的错误信息$@ 错误产生的位置$_ gets最近读的字符串$. 解释器最近读的行数(line number)$& 最近一次与正则表达式匹配的字符串$~ 作为子表达式组的最近一次匹配$n 最近匹配的第n个子表达式(和$~[n]一样)$= 是否区别大小写的标志$/ 输入记录分隔符$\ 输出记录分隔符$0 Ruby脚本的文件名$* 命令行参数$$ 解释器进程ID$? 最近一次执行的子进程退出状态阅读全文
posted @ 2012-12-03 11:18 残星 阅读(105) | 评论 (0) 编辑
摘要: 在进行导入或上传文件时需要创建临时目录以存放临时文件,这时就需要动态创建目录了。在windows中因为权限不那么严格,所以创建目录时可以不指定目录的访问权限,但在linux环境下就不行了,只有正确的指定了目录的访问权限,才能正常地处理文件操作,否则可能出现权限不足的错误file_path = "#{RAILS_ROOT}/public/tmp/csv" FileUtils.mkdir_p(file_path, :mode => 0777)一定要注意正确指定mode的值,否则可能导致权限不足的问题。一般来说使用系统的默认值就可以了,但如果有需要,最好还是加上权限设置。阅读全文
posted @ 2012-12-03 11:15 残星 阅读(170) | 评论 (0) 编辑
摘要: 首先在application_helper.rb文件下加入下面两个方法#error_messages_for方法修改 def error_messages_for(*params) options = params.last.is_a?(Hash) ? params.pop.symbolize_keys : {} objects = params.collect {|object_name| instance_variable_get("@#{object_name}") }.compact error_messages = objects.map do |object| 阅读全文
posted @ 2012-12-03 10:44 残星 阅读(73) | 评论 (0) 编辑
摘要: now=Time.mktime(2007,6,5,4,32) #将当前时间转换为指定的时间(now+3.days).midnight #三天后的开始时间(分秒毫秒的指都指定为:00:00:00)now.next_month.beginning_of_month 当前时间的下个月的月开始时间now.end_of_month #当前时间的月结束时间(分秒毫秒的指都指定为:00:00:00)Time.days_in_month(2,2000) #2002年2月的天数 答案是29now.seconds_since_midnight #当前时间从正点开始的秒数 答案类型:16320.0now.ch...阅读全文
posted @ 2012-11-30 18:17 残星 阅读(220) | 评论 (0) 编辑
摘要: 常见的网站,都涉及到用户的头像上传这方面,这里就需要将上传的图片经过处理后生成规定大小的头像。在ROR项目中,要对图片进行处理,首先得安装ImageMagick?-6.3.0-7-Q8-windows-dll.exe,然后安装Mini_Magick,gem install mini_magick,(RMagick也能对图片进行处理,但我没有找到裁剪函数,所以我选择使用MiniMagick?.)安装完成后在工程envirmoment.rb中添加代码require 'mini_magick'.由于用户上传的图片并不一定是头像所要求的尺寸,所以需要对上传的图片进行缩放,而如果图片是矩阅读全文
posted @ 2012-11-30 17:48 残星 阅读(445) | 评论 (0) 编辑
摘要: save方法news = New.new(:title => "haha", :content => "hello,everyone!")if news.save puts "save success"else puts "save failed"endsave方法在保存记录时如果保存失...阅读全文
posted @ 2012-11-30 16:25 残星 阅读(10) | 评论 (0) 编辑
摘要: begin #开始 raise.. #抛出异常 rescue [ExceptionType = StandardException] #捕获指定类型的异常 缺省值是StandardException $! #表示异常信息 $@ #表示异常出现的代码位置else #其余异常 ..ensure #不管有没有异常,进入该代码块end #结束begin puts puts "file: #{name = ARGV.shift}" file = open(name) i = 0 file.read.each_line{|line| puts "#{i+=1}.#{lin..阅读全文
posted @ 2012-11-30 14:16 残星 阅读(7) | 评论 (0) 编辑
摘要: require 'erb' include ERB::Utildef judage_brower_type(request.env["HTTP_USER_AGENT"]) return "Firefox" if http_user_agent.include?("Firefox") return "Safari" if http_user_agent.include?("Safari") return "IE" if http_user_agent.inclu阅读全文
posted @ 2012-11-30 10:53 残星 阅读(3) | 评论 (0) 编辑
摘要: WARNINGDespite the 1.1.0 version number, this gem is not quite production ready. Various people have experienced problems using the 1.0.0 version. A solution was found to deal with this issue but it has not been fully tested, so please subscribe to the forum or RubyForge news for any updates.WhatAct阅读全文
posted @ 2012-11-13 16:58 残星 阅读(684) | 评论 (0) 编辑
摘要: sort对数组排序,对应的还有sort!方法。另外ruby还提供sort_by方法,sort_by返回新数组,没有对应的sort_by!a = [2,4,3,5,1]a.sort!p a #=> [1,2,3,4,5]b = a.sort_by{|i| -i}p b...阅读全文
posted @ 2012-11-06 18:16 残星 阅读(16) | 评论 (0) 编辑
摘要: def test_request if request.xml_http_request? #request.xhr?是一样的 #是ajax请求 else #不是ajax请求 end end这样的话有的时候 就没必要一个ajax另外再取一个方法(假如主体函数功能不是很多的话)阅读全文
posted @ 2012-11-06 17:29 残星 阅读(97) | 评论 (1) 编辑
摘要: :select => "distinct(id)",:select => "case.*, max(case.created_at)":joins => "left outer join users on users.id = buildings.user_id and users.deleted is falseleft outer join management_companies on management_companies.id = buildings.management_company_id and manage阅读全文
posted @ 2012-11-06 14:53 残星 阅读(9) | 评论 (0) 编辑
摘要: 1.安装插件ruby script/plugin install http://dev.rubyonrails.org/svn/rails/plugins/auto_complete/或者将插件包考到vendor/plugins文件夹下2.view 20 %>category为model名,name...阅读全文
posted @ 2012-11-06 14:33 残星 阅读(3) | 评论 (0) 编辑
摘要: ActionController?::InvalidAuthenticityToken? 异常一般出现出现在手写的html form 标签和Ajax请求中,为什么会出现这个异常呢,这是从rails 2.0 开始包含的一个新功能,目的在于防止CSRF(Cross-Site Request Forgery)攻击.rails 为了保证当前的请求是来自自己的请求,而不是通过其他网站伪造的请求,都会在生成的form 里加入一个隐藏的值<input type="hidden" value="457a1e93c3a23ec2c67f1dc468bde6a4a5539610阅读全文
posted @ 2012-11-06 14:10 残星 阅读(2) | 评论 (0) 编辑
摘要: 在 js 文件中定义一个函数 showmessage_onlyone 去调用 ruby下面的 message 方法, javascript 代码:showmessage_onlyone : function(schedule) {var a = new Ajax.Request( "/people/...阅读全文
posted @ 2012-11-02 15:17 残星 阅读(7) | 评论 (0) 编辑
摘要: 首先看 transaction 方法ActiveRecord::TransactionsPublicClassmethods #Filevendor/rails/activerecord/lib/active_record/transactions.rb,line187 187:deftransaction(&block) 188:self.class.transaction(&block) 189:end 可以看出他是调用类方法,类方法代码如下:#Filevendor/rails/activerecord/lib/active_record/transactions.rb,l阅读全文
posted @ 2012-09-27 14:55 残星 阅读(874) | 评论 (0) 编辑
摘要: ===========================如何写migration=========================1.migration的结构每一个migrate的类都是 ActiveRecord::Migration 的子类,每一个migrate都要重写两个方法 up 和 down:Ruby代码 classCreateProducts<ActiveRecord::Migration defself.up #想干嘛,就干嘛 end defself.down #你后悔的时候,你会怎么做? end end 简单的说 up 方法就是操作数据库时用的,down就是你后悔了,用来回滚阅读全文
posted @ 2012-09-20 16:55 残星 阅读(2222) | 评论 (0) 编辑
摘要: 下载datepicker这个插件解压文件放到public/JavaScripts的目录下加载这个插件<!--<script src="/javascripts/datepicker/WdatePicker.js" type="text/javascript"></script>--><%= javascript_include_tag 'datepicker/WdatePicker' %>调用<%= text_field_tag "start_time",param阅读全文
posted @ 2012-09-14 09:03 残星 阅读(150) | 评论 (0) 编辑
摘要: A.把shared文件夹copy到public/images文件夹下B.把shadowbox.css样式文件copy到public/stylesheets文件夹下C.把shadowbox文件夹copy到public/javascripts文件夹下在layout页面加入<%= javascript_include_tag 'shadowbox/adapter/shadowbox-base' %> <%= javascript_include_tag 'shadowbox/shadowbox.js' %> <%= stylesheet_阅读全文
posted @ 2012-09-07 16:30 残星 阅读(655) | 评论 (0) 编辑
摘要: 1.controller@users = User.paginate :page => params[:page], :per_page => 4, :conditions => ["login = ? and email = ?",params[:user_name]...阅读全文
posted @ 2012-08-31 10:58 残星 阅读(12) | 评论 (0) 编辑
摘要: 1.with提交 {:controller => "/admin/goods",:action => "edit_goods_param"}, :with => "'goods_params_value='+document.getElementById('params_value_#{@sm...阅读全文
posted @ 2012-08-30 09:57 残星 阅读(11) | 评论 (0) 编辑
摘要: 转自:http://hi.baidu.com/jerry198610/blog/item/6160fd18cccad3b74bedbc4a.html<% form_tag url_for(:action=>'test_action') do %>also can write like this :<% form_tag ('/index/test_action') do %>***********************************************************************<% for阅读全文
posted @ 2012-08-27 10:02 残星 阅读(444) | 评论 (0) 编辑
摘要: 一、首先了解一下Helper方法:1. helper方法就是方法;2. 它大部分在view中应用,也可以做为普通方法使用在其它场景中;3. 它可以写在controller中,也可以写在app/helper模块中;4. Rails框架提供了一些Helper方法,如:form_for、link_to等等...阅读全文
posted @ 2012-08-24 14:14 残星 阅读(2337) | 评论 (0) 编辑