从方法中查询nanostoreinmotion

时间:2013-06-23 20:57:31

标签: rubymotion

使用RubyMotion时,我有一个使用NanoStoreInMotion创建的数据库。我能够使用用户参数查询数据库,但如果电话号码无效,则会抛出错误并中断我的应用程序。我的问题是,如果我试图写我的if / else语句来读取就好像电话变量是有效的“登录”,elsif“抛出警报视图”,我在elsif部分缺少什么?官方登录部分有效。

def main_login
  phone = @login_field.text
  user = User.find(:phone_number => "#{phone}")


  if user[0].phone_number == phone
    controller = UserLoggedInController.alloc.initWithUser(@user)
    self.navigationController.pushViewController(controller, animated: true)
  elsif user == []
    prompt = UIAlertView.alloc.initWithTitle("Checked In",
                  message: "Not a valid login",
                  delegate: nil,
                  cancelButtonTitle: "Close",
                  otherButtonTitles: nil)   
  prompt.show

  end 
end

1 个答案:

答案 0 :(得分:0)

您的逻辑存在问题。

以下代码应该可以使用。

def main_login
  phone = @login_field.text
  users = User.find(:phone_number => "#{phone}")

  if users == nil or users == []
    prompt = UIAlertView.alloc.initWithTitle("Checked In",
                  message: "Not a valid login",
                  delegate: nil,
                  cancelButtonTitle: "Close",
                  otherButtonTitles: nil)   
    prompt.show
  elsif users[0].phone_number == phone
    controller = UserLoggedInController.alloc.initWithUser(users[0])
    self.navigationController.pushViewController(controller, animated: true)
  end 
end