Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从我们获得的参数中查找用户_Ruby On Rails - Fatal编程技术网

Ruby on rails 从我们获得的参数中查找用户

Ruby on rails 从我们获得的参数中查找用户,ruby-on-rails,Ruby On Rails,我不是rails专家,但我想知道如何通过电子邮件找到用户,因为我在params中遇到过在else部分中,我想使用该参数创建新用户 def google user = User.find_by email: user[:email] if user user.generate_new_authetication_token json_response "User Information & already exist" , t

我不是rails专家,但我想知道如何通过电子邮件找到用户,因为我在params中遇到过在else部分中,我想使用该参数创建新用户

  def google
    user = User.find_by email: user[:email]
    if user
      user.generate_new_authetication_token
      json_response "User Information & already exist" , true, {user: user}, :ok
    else
          ??????????
    end
    if user.save
      json_response "Signed up Successfully ", true, {user: user}, :ok
    else
      json_response "something wrong ", false, {}, :unprocessable_entity
    end
  end
还有另一个私有函数,我从中获取用户参数

private

 def google_params
   params.require(:user).permit(:uid , :email )
 end

您可以使用
find\u或\u initialize\u by
方法

这是你的案子

def google
    user = User.find_or_initialize_by(email: user[:email])
    if user.persisted?
      user.generate_new_authetication_token
      json_response "User Information & already exist" , true, {user: user}, :ok
    else
        #  ??????????
    end
    if user.save
      json_response "Signed up Successfully ", true, {user: user}, :ok
    else
      json_response "something wrong ", false, {}, :unprocessable_entity
    end
  end

我希望它能工作。

您可以使用
查找\u或
方法初始化\u

这是你的案子

def google
    user = User.find_or_initialize_by(email: user[:email])
    if user.persisted?
      user.generate_new_authetication_token
      json_response "User Information & already exist" , true, {user: user}, :ok
    else
        #  ??????????
    end
    if user.save
      json_response "Signed up Successfully ", true, {user: user}, :ok
    else
      json_response "something wrong ", false, {}, :unprocessable_entity
    end
  end

我希望它能起作用。

我在这里遇到了这个错误“#实际上我只是想确定我的用户是否在这封电子邮件中出现如果是,那么我想显示邮件,否则我将添加一些额外的属性值,然后保存它。请将
用户[:电子邮件]
更改为
谷歌参数[:电子邮件]
。我在这里遇到了这个错误”#实际上,我只是想确定我的用户是否存在此电子邮件,如果是,则我想显示此邮件,否则我将添加一些额外的属性值,然后保存此邮件。请将
用户[:email]
更改为
谷歌参数[:email]