Rails:参数在控制台中可见,但不能作为参数访问

时间:2016-11-23 21:26:10

标签: ruby-on-rails angularjs devise

我正在向网址发送获取请求:groups/:id.json

在我的rails服务器控制台中,我看到以下内容:

Processing by GroupsController#show as JSON
  Parameters: {"id"=>"11"}

但我无法访问此show controller方法中的params对象。以下内容:

puts "puts params!"
puts params

不向控制台投放任何内容:

puts params!
#<ActionController::Parameters:0x007f7f9c482bf0>
Completed 500 Internal Server Error in 2ms (ActiveRecord: 0.0ms) 

NoMethodError (undefined method `id' for #<ActionController::Parameters:0x007f7f9c482bf0>):

我的rails项目用作角度ui-router前端的API,我使用Devise进行用户管理。什么可能阻止我的参数出现在这种方法中?

2 个答案:

答案 0 :(得分:4)

您是否将id称为params上的方法?它可能应该是params[:id]而不是params.id

答案 1 :(得分:1)

您尝试在控制器操作中访问paramters的方式。它应该是params[:id]Take a look at the docs, 'Parameters' section