标签: ruby

使用回形针和RMagick将现有图像调整为新样式

我一直在使用paperclip上传和自动调整我的Rails应用程序中的照片,我喜欢它.唯一的问题是每隔一个月,我疯狂的经理决定他想要一个新的尺寸来显示照片.所以我在我的照片模型中添加了一个新的风格,所有都适合新照片,但现有的照片现在是一个问题.现在我开始有多张照片要处理,我需要一种编程方式来调整现有照片的大小.对于这样的事情,也许有一些回形针技巧?如果我不需要,我真的不必弄清楚RMagick并自己写一个脚本.

ruby ruby-on-rails rmagick imagemagick paperclip

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

如何知道模型是否是新的?

class Post < ActiveRecord::Base
end

post = Post.new
Run Code Online (Sandbox Code Playgroud)

如何判断'post'是否是一个未从数据库中提取的新模型?

ruby model ruby-on-rails

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

错误通过Bundler安装mysql2 gem

我试图mysql2通过Bundler 安装gem,但它一直死于以下错误:

** executing command
/home/cc_rails/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:483:in 'rescue in block in build_extensions': 
ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

/home/cc_rails/.rvm/rubies/ruby-1.9.2-p0/bin/ruby extconf.rb --with-mysql-config=/usr/bin/mysql_config
checking for rb_thread_blocking_region()... yes
checking for mysql.h... no
checking for mysql/mysql.h... no

-----
mysql.h is missing.  please check your installation of mysql and try again.
-----

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration …
Run Code Online (Sandbox Code Playgroud)

ruby mysql rubygems ruby-on-rails bundler

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

为什么在ruby中动态创建大量符号不是一个好主意?

红宝石中符号的功能是什么?字符串和符号之间有什么区别?为什么动态创建大量符号不是一个好主意?

ruby string symbols

61
推荐指数
4
解决办法
6489
查看次数

Ruby on Rails复数(控制器)和单数(模型)约定 - 解释

根据Ruby on Rails约定,控制器名称变为多元化,而模型名称是单数.示例:用户控制器,但是用户模型.

rails generate controller Users
rails generate model User name:string email:string
Run Code Online (Sandbox Code Playgroud)

现在打开迁移文件

 class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :name
      t.string :email    
      t.timestamps
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这里的表名是复数(用户).

所以我的问题是 - 为什么表名是复数(用户),即使模型名称是单数(用户)?

ruby activerecord ruby-on-rails

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

根据整数值创建n个项目的数组

鉴于我有一个整数值,例如10.

如何创建一个包含10个元素的数组[1,2,3,4,5,6,7,8,9,10]

ruby

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

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

查找与给定条件匹配的元素索引

给定一个数组,如何找到符合给定条件的所有元素索引?

例如,如果我有:

arr = ['x', 'o', 'x', '.', '.', 'o', 'x']
Run Code Online (Sandbox Code Playgroud)

要查找项目所在的所有索引x,我可以这样做:

arr.each_with_index.map { |a, i| a == 'x' ? i : nil }.compact   # => [0, 2, 6]
Run Code Online (Sandbox Code Playgroud)

要么

(0..arr.size-1).select { |i| arr[i] == 'x' }   # => [0, 2, 6]
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来实现这一目标?

ruby arrays

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

Shoulda/RSpec匹配器 - 条件验证

在我的代码中,我使用了Shoulda匹配器进行了以下验证,效果很好:

it { should validate_presence_of(:name) }
Run Code Online (Sandbox Code Playgroud)

在我的模型中,我已将条件添加到我的验证中:

validates_presence_of :name, :if => eligible?
Run Code Online (Sandbox Code Playgroud)

是否有可能在验证中反映出来?

我已经尝试过查看shoulda匹配器的文档,但无法找到解决方案.

非常感谢!

ruby rspec ruby-on-rails shoulda

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

在Rails 4上使用RSpec保护,发出很多警告

我想知道如何在运行简单的测试时关闭所有这些警告:

[1] guard(main)> 
16:59:46 - INFO - Run all
16:59:46 - INFO - Running all specs
/Users/esjd/.rvm/gems/ruby-2.1.2/gems/rspec-rails-3.0.1/lib/rspec/rails/adapters.rb:124: warning: instance variable @example not initialized
/Users/esjd/.rvm/gems/ruby-2.1.2/gems/rspec-rails-3.0.1/lib/rspec/rails/adapters.rb:124: warning: instance variable @example not initialized
.*

Pending:
  HomeHelper add some examples to (or delete) /Users/esjd/ruby/rails/ts3/spec/helpers/home_helper_spec.rb
    # Not yet implemented
    # ./spec/helpers/home_helper_spec.rb:14

Finished in 0.03601 seconds (files took 7 minutes 48 seconds to load)
2 examples, 0 failures, 1 pending
/Users/esjd/.rvm/gems/ruby-2.1.2/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:76: warning: global variable `$CELLULOID_DEBUG' not initialized
/Users/esjd/.rvm/gems/ruby-2.1.2/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:76: warning: global variable `$CELLULOID_DEBUG' not initialized

/Users/esjd/.rvm/gems/ruby-2.1.2/gems/guard-2.6.1/lib/guard/interactor.rb:64: warning: …
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails ruby-on-rails-4

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