Search code examples
ruby-on-railshtmlsubmit-button

ROR: HTML input button not posting to controller?


I have very simple 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"/>

This should, on clicking of submit, trigger an action in my controller called '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

Here is my route:

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

But when I click submit, nothing happens. Is it not possible to use an input in this way?


Solution

  • You should be using rails helpers and you need to specify the path where you want to post the data:

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