将参数从视图传递到控制器

时间:2019-11-27 05:26:45

标签: ruby-on-rails ruby view

我有Rails应用程序的登录表单视图。

登录表单代码-

<h1>Log In</h1>
<%= form_tag dashboard_path do %>
  <div class="field">
    <%= label_tag :phone %><br>
    <%= text_field_tag :phone %>
  </div>
  <div class="field">
    <%= label_tag :password %><br>
    <%= password_field_tag :password %>
  </div>
  <% end %>
  <%= form tag sign_in_path do %>
  <div class="actions">
    <%= submit_tag "Log In"%>
  </div>
<% end %>

所以我在这里尝试的是使用[{1}}和phone作为我在登录页面中输入的参数,将提交按钮重定向到controller#action(sign_in_path)。

此登录代码被复制,因为我对HTML / angular的了解为零,而且我在其余视图中使用jbuilder而不是ERB。

更新- 在第一个password请求之后stdout

GET

在第二次Started GET "/dashboard" for 127.0.0.1 at 2019-11-27 11:29:49 +0530 Processing by HulksController#new as HTML Rendering hulks/new.html.erb Rendered hulks/new.html.erb (Duration: 1.0ms | Allocations: 590) Completed 200 OK in 2ms (Views: 1.9ms | ActiveRecord: 0.0ms | Allocations: 1172)请求之后,点击登录按钮后

stdout

post

1 个答案:

答案 0 :(得分:2)

您的示例中有两个form_tag。只需将其更改为此:

 <h1>Log In</h1>
 <%= form_tag sign_in_path do %>
 <div class="field">
   <%= label_tag :phone %><br>
   <%= text_field_tag :phone %>
 </div>
<div class="field">
  <%= label_tag :password %><br>
  <%= password_field_tag :password %>
</div>
<div class="actions">
 <%= submit_tag "Log In"%>
</div>