Tag: ruby

在rails中,如何将logging作为csv文件返回

我有一个简单的数据库表名为“条目”: class CreateEntries < ActiveRecord::Migration def self.up create_table :entries do |t| t.string :firstName t.string :lastName #etc. t.timestamps end end def self.down drop_table :entries end end 如何编写一个处理程序,将CSV文件作为参数表格的内容返回(理想情况下,它将自动在Excel中打开)? class EntriesController < ApplicationController def getcsv @entries = Entry.find( :all ) # ??? NOW WHAT ???? end end

在Ruby中生成Guid

我有问题很容易用Guids解决。 特别是,对于密码重置工作stream程,我想发送Guid令牌给用户的电子邮件,并让他们使用令牌重置密码。 由于guid是独一无二的,这是相当安全的,并节省我发送人密码,这是有风险的。 我注意到Ruby有一个Guidgem ; 但看起来相当老了,它将东西写入文件系统。 有谁知道任何其他gem,可以创build一个全球唯一的标识符? 我知道我可以回到: (0..16).to_a.map{|a| rand(16).to_s(16)}.join 但是它看起来并不是一个合适的GUID …

如何检查一个URL是否有效

我如何检查一个string是否是一个有效的URL? 例如: http://hello.it => yes http:||bra.ziz, => no 如果这是一个有效的URL我怎么能检查这是否相对于一个图像文件?

在Ruby中创build二维数组并访问子数组

我想知道是否有可能创build一个二维数组,并快速访问其中的任何水平或垂直的子数组? 我相信我们可以在以下情况下访问一个水平的子数组: x = Array.new(10) { Array.new(20) } x[6][3..8] = 'something' 但据我所知,我们不能这样访问它: x[3..8][6] 我怎样才能避免或破解这个限制?

Rails 3在没有模型的情况下执行自定义的sql查询

我需要编写一个独立的ruby脚本来处理数据库。 我在rails 3中使用了下面给出的代码 @connection = ActiveRecord::Base.establish_connection( :adapter => "mysql2", :host => "localhost", :database => "siteconfig_development", :username => "root", :password => "root123" ) results = @connection.execute("select * from users") results.each do |row| puts row[0] end 但得到错误: – `<main>': undefined method `execute' for #<ActiveRecord::ConnectionAdapters::ConnectionPool:0x00000002867548> (NoMethodError) 我在这里错过了什么? 解 从denis-bu获得解决scheme后,我用下面的方式,也工作。 @connection = ActiveRecord::Base.establish_connection( :adapter => "mysql2", :host => "localhost", […]

在Ruby中将数组输出到CSV

使用Ruby将CSV文件读入数组很容易,但是我找不到有关如何将数组写入CSV文件的好文档。 谁能告诉我如何做到这一点? 如果有问题,我使用Ruby 1.9.2。

通过迁移向列添加默认值

如何将默认值添加到已经通过迁移存在的列中? 我可以find的所有文档都向您展示了如何在列尚不存在的情况下执行此操作。

在PATH模式040777中获取警告“不安全的世界可写dir / home / chance”,用于rails和gem

我试过这个,但它没有工作,似乎是为OSX。 我有一个新的Ubuntu 10.10与rvm,rails 3和ruby1.9.2安装。 我有一个新的导轨应用程序,但使用gem或导轨导致以下警告(滞后)。 $ rails -v /home/chance/.rvm/gems/ruby-1.9.2-p180@global/gems/railties-3.0.5/lib/rails/script_rails_loader.rb:11: warning: Insecure world writable dir /home/chance in PATH, mode 040777 /home/chance/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.0.10/lib/bundler/runtime.rb:136: warning: Insecure world writable dir /home/chance in PATH, mode 040777 Rails 3.0.5 $ gem -v /home/chance/.rvm/rubies/ruby-1.9.2-p180/bin/gem:4: warning: Insecure world writable dir /home/chance in PATH, mode 040777 1.6.2 只要事情重要,这里是我的Gemfile: source 'http://rubygems.org' gem 'rails' # Bundle edge […]

Rails不断告诉我,它目前没有安装

我使用rvm来pipe理不同的ruby和他们的gem。 我的shell是用基本设置configuration的oh-my-zsh的zsh。 启用oh-my-zsh插件是ruby,rails,osx和git。 这里是我用来安装ruby-1.8.7和rails-3.0.7的命令。 rvm install 1.8.7 rvm use 1.8.7 gem install rails -v=3.0.7 然后我inputrails并得到: Rails is not currently installed on this system. To get the latest version, simply type: $ sudo gem install rails You can then rerun your "rails" command. 我也尝试过更彻底的安装,比如在切换到ruby-1.8.7之后重新安装rubygems ,或者创build一个全新的gemset,但没有运气。 这是rvm信息: ruby-1.8.7-p352@rails: system: uname: "Darwin yicai.local 10.8.0 Darwin Kernel Version 10.8.0: […]

用belongs_to多态来接受belongs_nested_attributes_for

我想build立一个与accepts_nested_attributes_for的多态关系。 这里是代码: class Contact <ActiveRecord::Base has_many :jobs, :as=>:client end class Job <ActiveRecord::Base belongs_to :client, :polymorphic=>:true accepts_nested_attributes_for :client end 当我尝试访问Job.create(…, :client_attributes=>{…}给我NameError: uninitialized constant Job::Client