小编Nic*_*ick的帖子

Rspec 3.6,Rails 5错误:`post`请求的参数数量错误(给定2,预期为1)

我刚刚在Rails 5中开始了一个新项目(我的第一个,虽然我在Rails 4.x中有几个项目)并且我在控制器规格方面遇到了麻烦.

describe RequestsController, :type => :controller do

  it "receives new request" do
    post :accept_request, my_params
  end

end
Run Code Online (Sandbox Code Playgroud)

返回错误:

 Failure/Error: post :accept_request, my_params

 ArgumentError:
   wrong number of arguments (given 2, expected 1)
Run Code Online (Sandbox Code Playgroud)

据我所知,日常Rails中记录的Rails 5控制器的首选测试策略发生了转变,特别是将控制器测试转换为请求规范,但没有说明这种控制器测试基本方法的变化.

rspec ruby-on-rails rspec-rails ruby-on-rails-5

14
推荐指数
1
解决办法
7236
查看次数

如何更改Ruby on Rails解析两位数年份输入的方式

我有一个可以从(m / d / yy)格式的文本字段接受日期的表单。

保存日期(使用ActiveRecord)时,它将被解析为年份“ 0014”而不是“ 2014”。以这个领域为例,我希望它总是将本世纪视为2000年。

这是控制台中的一个[失败]测试:

2.0.0-p247 :021 > g.update_attributes(:date_completed => "3/4/14")
   (0.3ms)  BEGIN
  SQL (0.7ms)  UPDATE `goals` SET `date_completed` = '0014-03-04', `updated_at` = '2014-06-30 21:36:06' WHERE `goal_tracker_goals`.`id` = 10
   (1.7ms)  COMMIT
 => true 
2.0.0-p247 :023 > g.date_completed
 => Sun, 04 Mar 0014 
Run Code Online (Sandbox Code Playgroud)

我假设有一个ActiveRecord方法可以覆盖某个地方或要设置的配置值。

谢谢!

ruby activerecord datetime ruby-on-rails

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