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
Railsログ:
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 を から に変更した後、params:facebook_id
別params[:facebook_id]
のエラーが発生しました。ここに私のレールログのコピーがあります。
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'