ROR:HTML 输入按钮未发布到控制器?

ROR: HTML input button not posting to controller?

我有很简单的HTML(password.html.erb):

<h1>Enter business password to enter:</h1>

<input type="text" id="password" name="enter password"/>
<input type="submit" method="post" name="Submit"/>

点击提交后,这应该会在我的控制器中触发一个名为 'check':

的操作
def check
    @entered = params['password']
    if @entered == current_customer.business.manager_password_digest
      puts("success!")
      redirect to '/manage'
    else
      flash[:danger] = 'Invalid password'
      render 'password'
    end
  end

这是我的路线:

get '/password' => 'pages#password'
  post '/password' => 'pages#check'

但是当我点击提交时,没有任何反应。难道不能这样使用输入法吗?

您应该使用 rails 助手并且您需要指定要 post 数据的路径:

<h1>Enter business password to enter:</h1>
<%= form_tag("/password") do  %>
 <%= text_field_tag :password %>
 <%= submit_tag 'Submit' %>
<% end %>

您还没有告诉您的按钮在点击时执行哪个操作。为此,您应该对提交按钮使用操作。

  <h1>Enter business password to enter:</h1>
  <input type="text" id="password" name="enter password"/>
  <input type="submit" method="post" name="Submit"/ action = '/password'>