Ruby on rails 从form_转换为form_标记时出现问题
如何将其转换为form_标签?此代码基本上来自Michael Hartl的RoR教程第8章练习1Ruby on rails 从form_转换为form_标记时出现问题,ruby-on-rails,form-for,Ruby On Rails,Form For,如何将其转换为form_标签?此代码基本上来自Michael Hartl的RoR教程第8章练习1 <% provide(:title, "Sign in") %> <h1>Sign in</h1> <div class="row"> <div class="span6 offset3"> <%= form_for(:session, url: sessions_path) do |f| %> &l
<% provide(:title, "Sign in") %>
<h1>Sign in</h1>
<div class="row">
<div class="span6 offset3">
<%= form_for(:session, url: sessions_path) do |f| %>
<%= f.label :email %>
<%= f.text_field :email %>
<%= f.label :password %>
<%= f.password_field :password %>
<%= f.submit "Sign in", class: "btn btn-large btn-primary" %>
<% end %>
<p>New user? <%= link_to "Sign up now!", signup_path %></p>
</div>
</div>
登录
新用户
我试过这样的东西
<% provide(:title, "Sign in") %>
<h1>Sign in</h1>
<div class="row">
<div class="span6 offset3">
<% form_tag sessions_path, methods=> :post do %>
<%= label_tag 'email' %><br />
<%= text_field_tag :email, params[:email], :placeholder => "Email" %>
<%= label_tag 'password' %><br />
<%= password_field_tag :password %>
<%= submit_tag 'Sign in' %>
<% end -%>
<p>New user? <%= link_to "Sign up now!", signup_path %></p>
</div>
</div>
登录
:post do%>
“电子邮件”%>
新用户
但它根本不显示表单
谢谢您需要添加一个等号:
<%= form_tag sessions_path, methods=> :post do %>
:post do%>
但是,我想知道您为什么要切换到
表单标签
form\u for
在我看来有很多优点,例如表单生成器。我也在尝试转换为form\u标签
正确语法
<%= form_tag sessions_path, :method => 'post' do %>
下一个是教程的代码(Michael Hartl 3.2)第8章。练习1
<% provide(:title, "Sign in") %>
<h1>Sign in</h1>
<div class="row">
<div class="span6 offset3">
<%= form_tag sessions_path, :method => 'post' do %>
<%= label_tag 'email', 'Email' %>
<%= text_field_tag :email, params[:email], :placeholder => "Email" %>
<%= label_tag 'password', 'Password' %>
<%= password_field_tag :password %>
<br>
<%= submit_tag "Sign In" , :class=> "btn btn-large btn-primary" %>
<% end %>
<p>New user? <%= link_to "Sign up now!", signup_path %></p>
</div>
登录
“post”do%>
“电子邮件”%>
“btn btn大型btn主节点”%>
新用户
哦,好的。那太好了。”因为这只是一个练习。谢谢你的意见,我会坚持使用表格:)好的。只是想补充一点,当您在form_tag方法的开头添加等号时,它至少应该显示一些内容。这是Rails 3中的一个更改。在Rails 2中,这也应该在没有等号的情况下工作。如果我完全回答了你的问题,你能把这个答案标记为接受吗?谢谢!:)
def create
user = User.find_by(email: params[:email].downcase)
if user && user.authenticate(params[:password])
sign_in user
redirect_to user
else
flash.now[:error] = 'Invalid email/password combination'
render 'new'
end
end
<% provide(:title, "Sign in") %>
<h1>Sign in</h1>
<div class="row">
<div class="span6 offset3">
<%= form_tag sessions_path, :method => 'post' do %>
<%= label_tag 'email', 'Email' %>
<%= text_field_tag :email, params[:email], :placeholder => "Email" %>
<%= label_tag 'password', 'Password' %>
<%= password_field_tag :password %>
<br>
<%= submit_tag "Sign In" , :class=> "btn btn-large btn-primary" %>
<% end %>
<p>New user? <%= link_to "Sign up now!", signup_path %></p>
</div>