我正在尝试在我的 rails 应用程序中实现搜索。我有一个User
模型,其中每个用户都有一个id
和一个facebook_id
.
如何实现搜索facebook_id
?我正在寻找这样的称呼:localhost:3000/users.json?facebook_id=123456
.
谢谢!
编辑:我尝试了条件索引,但收到错误“我们很抱歉,但出了点问题。”
这是我的代码:
def index
if params[:facebook_id]
respond_with User.find(params:facebook_id)
elsif params[:twitter_id]
respond_with User.find(params:twitter_id)
else
respond_with User.all
end
end
导轨日志:
2012-08-07T19:43:11+00:00 app[web.1]: Started GET "/users.json?facebook_id=1" for 173.247.200.7 at 2012-08-07 19:43:11 +0000
2012-08-07T19:43:11+00:00 app[web.1]: Processing by UsersController#index as JSON
2012-08-07T19:43:11+00:00 app[web.1]: Parameters: {"facebook_id"=>"1"}
2012-08-07T19:43:11+00:00 app[web.1]: Completed 500 Internal Server Error in 2ms
2012-08-07T19:43:11+00:00 app[web.1]:
2012-08-07T19:43:11+00:00 app[web.1]: NameError (undefined local variable or method `facebook_id' for #<UsersController:0x000000044b6e38>):
2012-08-07T19:43:11+00:00 app[web.1]: app/controllers/users_controller.rb:4:in `index'
Edit2:将参数从更改为后params:facebook_id
,params[:facebook_id]
我收到另一个错误。这是我的 Rails 日志的副本。
2012-08-07T19:53:45+00:00 app[web.1]: Started GET "/users.json?facebook_id=1000" for 173.247.200.7 at 2012-08-07 19:53:45 +0000
2012-08-07T19:53:45+00:00 app[web.1]: Processing by UsersController#index as JSON
2012-08-07T19:53:45+00:00 app[web.1]: Parameters: {"facebook_id"=>"1000"}
2012-08-07T19:53:45+00:00 app[web.1]: Completed 500 Internal Server Error in 2ms
2012-08-07T19:53:45+00:00 app[web.1]:
2012-08-07T19:53:45+00:00 app[web.1]: ActiveRecord::RecordNotFound (Couldn't find User with id=1000):
2012-08-07T19:53:45+00:00 app[web.1]: app/controllers/users_controller.rb:4:in `index'