我想将form_tag改编为simple_form
<%= form_tag sessions_path do %>
<%= label_tag :password %>
<%= password_field_tag :password %>
<% end %>
它工作正常,我可以正常登录。
<%= simple_form_for(sessions_path) do |f| %>
<%= f.error_notification %>
<%= f.input :password %>
<%= f.button :submit %>
<% end %>
我明白了 没有路线匹配[POST]&#34; / sessions / new&#34;
在我的routes.rb中,我有以下行
get 'login', :controller => 'sessions', :action => 'new'
有人可以帮我解决吗?
答案 0 :(得分:0)
form_for
(因此simple_form_for
)假设您有一个模型,并且正在对其资源路由进行POST或PATCH。
但是你没有模型并且该路由是GET路由,所以你需要将一些选项传递给simple_form以使其工作。
这应该这样做:
simple_form_for(sessions_path), method: :get
但也有这个答案应该有所帮助(不是被接受的,第二个):