我设计了一个 ruby on rails 3.2 应用程序,其中有一个用户模型。我编写了一个自定义函数,以便通过另一个移动应用程序验证用户名和密码。在 localhost 中一切正常,我可以从移动应用程序进行身份验证。所以,我更进一步,将它部署在 Heroku 中。现在验证功能不起作用。
在我的Gem 文件中,我包含以下内容:
group :production do
gem 'pg'
end
group :development do
gem 'sqlite3'
end
在我的users_controller.rb中,我编写了自定义身份验证函数:
# http://wgo-ror.herokuapp.com/users/authenticate?userName=ramy&password=123456
def authenticate
usr = params[:userName]
pwd = params[:password]
@getUser = User.where("userName = ? AND password = ?", params[:userName], params[:password])
if (@getUser!=[])
respond_to do |format|
format.html { render :json => {:Success => true, :Data => @getUser}, :callback => params[:callback] }
format.json { render :json => {:Success => true, :Data => @getUser}, :callback => params[:callback] }
end
else
respond_to do |format|
format.html { render :json => {:Success => false, :Data => @getUser}, :callback => params[:callback] }
format.json { render :json => {:Success => false, :Data => @getUser}, :callback => params[:callback] }
end
end
end
我还编写了另一个名为saveUser的自定义函数。即使在我将它部署到 heroku 之后,这个特定的功能也能正常工作。
# http://wgo-ror.herokuapp.com/users/saveUser?id=1&userName=yrkapil&password=123456&email=yrkapil@gmail.com
def saveUser
@user = User.find(params[:id])
@user.update_attributes(:userName => params[:userName], :password => params[:password], :email => params[:email] )
end
在我的routes.rb 中,我包含了以下内容:
match 'users/authenticate' => 'users#authenticate', :as => :authenticate
match 'users/saveUser' => 'users#saveUser', :as => :saveUser
resources :users
resources :festivals
root :to => 'users#index'
我错过了什么还是因为postgresql?我不知道该怎么做。请帮帮我,伙计们。我真的需要让这个工作。提前致谢!