我在RVM之前和之后安装了我的本地机器上的大量宝石,所以我决定将它们全部擦除并重新安装.一切似乎都没问题,除了捆绑:
gem list
.....
bundler (1.1.3, 1.0.22)
Run Code Online (Sandbox Code Playgroud)
我不知道为什么1.0.22仍然存在,我无法弄清楚如何摆脱它!
$ gem cleanup
Cleaning up installed gems...
Attempting to uninstall bundler-1.0.22
Unable to uninstall bundler-1.0.22:
Gem::InstallError: gem "bundler" is not installed
Clean Up Complete
$ gem uninstall bundler-1.0.22
INFO: gem "bundler-1.0.22" is not installed
Run Code Online (Sandbox Code Playgroud)
更新1 安德鲁要求的路径信息
/Users/brandon/.rvm/gems/ruby-1.9.3-p125-perf@global/gems/bundler-1.0.22/
Run Code Online (Sandbox Code Playgroud) 晚上好,
我正在尝试在我的"Simulation"类中测试一个相当长的方法,该类调用类方法"is_male_alive?" 和"is_female_alive?" 在我的"年龄"课上几百次.这些类方法的返回值基于统计信息,我想将它们存根以返回特定值,以便我的测试每次都运行相同.
Age.rb:
...
def is_male_alive?(age)
return false if age > 119
if (age < 0 || age == nil || age == "")
return false
end
death_prob = grab_probability_male(age)
rand_value = rand
rand_value > death_prob
end
...
Run Code Online (Sandbox Code Playgroud)
(女性版本与一些不同的常量基本相同)
在我的"模拟"课程中,我执行以下操作:
def single_simulation_run
...
male_alive = Age.is_male_alive?(male_age_array[0])
female_alive = Age.is_female_alive?(female_age_array[0])
...
end
Run Code Online (Sandbox Code Playgroud)
在模拟的每次迭代中 - 基本上它只是传递一个年龄(例如is_male_alive?(56))并返回true或false.
我想删除这两种方法,以便:
我已经尝试了以下内容,看看我是否有能力将其存根(simulation_spec.rb):
Age.should_receive(:is_male_alive?).exactly(89).times
results = @sim.send("generate_asset_performance")
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
Failure/Error: Age.should_receive(:is_male_alive?).exactly(89).times
(<Age(id: integer, age: integer, male_prob: decimal, female_prob: decimal) (class)>).is_male_alive?(any args)
expected: 89 times …Run Code Online (Sandbox Code Playgroud) 使用rails-api:
def show
render json: Room.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)
这在找到资源时有效.但是寻找一个不存在的返回500错误.这不应该归还404吗?
> http --json GET chat.dev/api/v1/rooms/23
HTTP/1.1 500 Internal Server Error
Connection: close
Content-Type: text/plain; charset=utf-8
X-Request-Id: 4cd2ba9f-0f85-4530-9c0a-0ef427ac5b31
X-Runtime: 0.094633
ActiveRecord::RecordNotFound at /api/v1/rooms/23
================================================
> Couldn't find Room with id=23
app/controllers/api/v1/rooms_controller.rb, line 20
---------------------------------------------------
``` ruby
15 # render :json => {}, :status => :not_found
16 # end
17 # end
18
19 def show
> 20 render json: Room.find(params[:id])
21 end
22
23 end
24
25 end
Run Code Online (Sandbox Code Playgroud) 我已经用Ruby完成了所有的学习,现在正在深入研究OpenShift的Bash脚本深度.每个命令在做什么都不太明显......
有人可以向我解释以下内容:
[ -f ${OPENSHIFT_DATA_DIR}redis.pid ] || ${OPENSHIFT_DATA_DIR}redis/bin/redis-server ${OPENSHIFT_DATA_DIR}redis/bin/redis.conf
Run Code Online (Sandbox Code Playgroud)
第二部分显然是redis-server使用redis.conf配置运行二进制文件.但是我不确定||完成了什么,或者是什么[ -f $SOME_PID_FILE ]
帮助赞赏!
我想我在这里错过了一些简单的东西......但是无法弄明白.
class User < ActiveRecord::Base
attr_accessible :name, :email, :password, :password_confirmation, :remember_me
has_many :events
end
class Event < ActiveRecord::Base
attr_accessible :start, :end, :all_day, :url
belongs_to :user
end
u1 = User.create name: "Bob", email: "bob@what.com", password: "asdfasdf"
u1.create_event(start: 3.days.from_now)
Run Code Online (Sandbox Code Playgroud)
- >
undefined method `create_event' for #<User:0x007f918cbbf7b8>
Run Code Online (Sandbox Code Playgroud)
然而,
u1.events << Event.create!(start: 3.days.from_now)
Run Code Online (Sandbox Code Playgroud)
作品!