无论我试图将其作为表单助手的参数放入,我都得到一个零值。我正在尝试在我的代码中使用表单助手,但我发现使用常规表单更容易。我知道表单助手是最好的做法,所以我想知道我做错了什么,或者这是我不应该使用form_for的情况
我在浏览器中检查了rails提供给我们的控制台,@user
,@session
,@users
,@sessions
都是nil
。我不知道还能传递什么。
为什么这不起作用:
<%= form_for(@session) do |f| %>
<div class="field form-group">
<%= f.label :email %><br />
<%= f.text_field :email, class: 'form-control' %>
<%= f.label :password %><br />
<%= f.password_field :password, class: 'form-control' %>
</div>
<div class="actions form-group">
<%= f.submit "Sign In", class: 'btn btn-primary' %>
</div>
但这会:
<form action="<%= session_path %>" method="post">
<input type="hidden" name="authenticity_token" value="<%= form_authenticity_token %>"/>
<input type="email" name="user[email]" placeholder="your email"/>
<input type="password_digest" name="user[password]" placeholder="password">
<input type="submit" name="name" value="Sign In">
</form>
对我的愚蠢行为的一些见解会很棒。谢谢!
对于编辑感到抱歉以下是session_controller
的{{1}}方法以防万一:
create