小编ilt*_*mpo的帖子

如何在Rails环境中运行Ruby文件?

我想在Rails环境的上下文中运行Ruby文件.rails runner几乎可以做我想做的事,但我想给它一个文件名和参数.我很确定这是可能的,因为我以前做过.有人能提醒我怎么做吗?

ruby ruby-on-rails ruby-on-rails-3

95
推荐指数
4
解决办法
5万
查看次数

检测是否安装了自制软件包

我即将编写一个shell脚本来检测系统中是否安装了几个自制软件包.有没有办法使用brew命令来实现这一目标?

我尝试使用退出代码brew install <formula> --dry-run.但如果它丢失了,这会构建包.

bash shell homebrew

92
推荐指数
3
解决办法
4万
查看次数

如果元素已经存在,则将元素添加到数组中

我有一个Ruby类

class MyClass
  attr_writer :item1, :item2
end

my_array = get_array_of_my_class() #my_array is an array of MyClass
unique_array_of_item1 = []
Run Code Online (Sandbox Code Playgroud)

我要推MyClass#item1unique_array_of_item1,但前提是unique_array_of_item1不包含item1尚未.我知道有一个简单的解决方案:只需迭代my_array并检查是否unique_array_of_item1已包含当前item1.

有没有更有效的解决方案?

ruby

85
推荐指数
4
解决办法
5万
查看次数

创建线程安全的临时文件名

使用TempfileRuby时,正在创建一个具有线程安全和进程间安全名称的文件.我只需要这样的文件名.

我想知道是否有比以往更直接的方法:

t = Tempfile.new(['fleischwurst', '.png'])
temp_path = t.path
t.close
t.unlink
Run Code Online (Sandbox Code Playgroud)

ruby filenames thread-safety temp

31
推荐指数
1
解决办法
9789
查看次数

将一个拉取请求合并到多个分支中

我们有来自其他分叉以及我们自己分叉中的分支的拉取请求,这些请求必须转到多个分支。有没有一种方法可以一步将拉取请求合并到多个分支?

git github

10
推荐指数
1
解决办法
2万
查看次数

rspec rails mocking会话哈希

我试图模拟控制器的会话哈希,如下所示:

it "finds using the session[:company_id]" do
  session.should_receive(:[]).with(:company_id).and_return 100
  Company.should_receive(:find).with(100)
  get 'show'
end
Run Code Online (Sandbox Code Playgroud)

当我打电话给'show'时,它说:

received :[] with unexpected arguments  
expected: (:company_id)  
   got: ("flash")
Run Code Online (Sandbox Code Playgroud)

控制器代码如下所示:

def show
  company_id = session[:company_id]
  @company = Company.find params[company_id]
end
Run Code Online (Sandbox Code Playgroud)

我也只是尝试过设置

it "finds using the session[:company_id]" do
  session[:company_id]= 100
  Company.should_receive(:find).with(100)
  get 'show'
end
Run Code Online (Sandbox Code Playgroud)

但后来得到一个问题:

expected: (100)
got: (nil)
Run Code Online (Sandbox Code Playgroud)

有人有想法吗?

rspec ruby-on-rails rspec2

8
推荐指数
2
解决办法
9000
查看次数

运行迁移时出现重复的列名错误

每当我在Rails应用程序中运行迁移时,我都会从SQLite3收到错误:

SQLite3::SQLException: duplicate column name: photo_file_name: ALTER TABLE "users" ADD "photo_file_name" varchar(255)
Run Code Online (Sandbox Code Playgroud)

我已经有一个"向用户添加照片"迁移.这里是:

class AddAttachmentPhotoToUsers < ActiveRecord::Migration
   def self.up
     change_table :users do |t|
     t.has_attached_file :photo
    end
   end

  def self.down
   drop_attached_file :users, :photo
  end
end
Run Code Online (Sandbox Code Playgroud)

这是用户迁移:

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
    t.string :name
    t.string :title
    t.string :department
    t.text :skills
    t.boolean :available

    t.timestamps
   end
 end
end
Run Code Online (Sandbox Code Playgroud)

我有点困惑,因为它告诉我有一个重复的列名"photo_file_name",但我需要将它添加到Users表中?这没有意义.我不应该删除它吗?

如果您需要有关我的应用的任何其他详细信息,请告诉我们

migration sqlite ruby-on-rails paperclip

7
推荐指数
2
解决办法
2万
查看次数

如何在Eclipse中导入"org.apache.http.client.HttpClient"?

我已经尝试过这里httpcore.jar的步骤,但是当我写的时候,它仍然无法找到.该罐已由Maven下载.import org.apache.http.client.HttpClient

httpcore正确的lib导入org.apache.http.client.HttpClient?或者org.apache.http.client.HttpClient仅用于Android开发?

另一个问题,org.apache.http.client.HttpClient和之间有什么区别org.apache.commons.httpclient.HttpClient

java apache

6
推荐指数
1
解决办法
4万
查看次数

无法在OS X Mavericks上降级Ruby

OS X 10.9附带ruby 2.0.0p195,但我需要安装Ruby 1.8.7.我一直遇到错误.我有Xcode5-DP安装,我相信也安装了命令行工具.

在终端:

sudo rvm install 1.8.7
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10/x86_64/ruby-1.8.7-p371.
Continuing with compilation. Please read 'rvm mount' to get more information on binary rubies.
Installing requirements for osx, might require sudo password.
Certificates in '/usr/local/etc/openssl/cert.pem' already are up to date.
Installing Ruby from source to: /Users/alextoul/.rvm/rubies/ruby-1.8.7-p371, this may take a while depending on your cpu(s)...
ruby-1.8.7-p371 - #downloading ruby-1.8.7-p371, this may take a while depending …
Run Code Online (Sandbox Code Playgroud)

ruby macos xcode rvm osx-mavericks

6
推荐指数
3
解决办法
1万
查看次数

防止NERD树在启动时打开缓冲区

我正在使用Janus进行Vim自定义.

困扰我的一件事是它在启动时在一个单独的缓冲区中打开NERD Tree.我不想完全禁用NERD树.只是想在开始时不打开它.

有没有办法没有调整 Janus 的内部

vim janus nerdtree

5
推荐指数
1
解决办法
1501
查看次数