整合自制验证码进行注册和登录?

时间:2017-12-05 18:34:16

标签: ruby-on-rails ruby ruby-on-rails-5 captcha nested-form-for

所以我有一个基本的注册,使用用户名和密码登录网站。我不想使用recaptcha,并想知道我是否可以创建自己的? 例如,有什么颜色是橙色'。

我想知道如何将它(如果可以的话)整合到form_for中,因为它不会成为@user对象的一部分并抛出错误。

这是控制器

def new
 @user = User.new
 @captcha = Captcha.find(rand(1..3))
end

def create
 @user = User.new(user_params)
 if @user.save
  session[:user_id] = @user.id
  redirect_to root_path
 else
  render 'new'
 end
end

private

def user_params
 params.require(:user).permit(:username, :password, :release_pin)
end

这是视图

    <div class="sign-in-form">
      <%= form_for @user do |form| %>
        <div class="form-text">
          <%= form.label :username %> <br>
          <%= form.text_field :username %>
        </div>
        <br>
        <div class="form-text">
          <%= form.label :password %> <br>
          <%= form.text_field :password %>
        </div>
        <br>

     ############## this here obviously throws 
     an error but this is the kind of thing i would want #########


        <div class="form-text">
          <p> <%=@captcha.question%> </p>   
          <%= form.text_field :captcha_answer %>
        </div>

        <div class="form-text">
          <%= form.submit "Submit" %>
        </div>

我已经查看了嵌套表格但不认为这是正确的答案......但我错了,因为我只是一个初学者。感谢

0 个答案:

没有答案
相关问题