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'>
我有很简单的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'>