遇到我的表單操作未達到正確路由的問題。我知道我必須在路徑上做一些錯誤的事情,但是rails會讓這很容易,所以我不知道爲什麼它會一直嘗試使用'/'而不是user_path,它是/ users導軌路由錯誤:無路由匹配
這是我的表格:
<form action="<% users_path %>" method="post">
<input type="email" name="user[email]" placeholder="your email"/>
# other inputs and submit
這裏是users_controller.rb
:
def create
@user = User.new(user_params)
if @user.save
flash[:message] = @user.email +" Created succesfully!"
else
flash[:message] @user.errors.full_messages.to_sentence
redirect_to root_path
end
這裏是routes.rb
:
root 'application#welcome'
post 'users' => 'users#create'
這裏是rake routes
輸出:
Prefix Verb URI Pattern Controller#Action
root GET/ application#welcome
users POST /users(.:format) users#create
最後的錯誤:
Routing Error No route matches [POST] "/"
這裏是我的目錄結構:
├── app
│ ├── assets
│ │ ├── images
│ │ ├── javascripts
│ │ │ ├── application.js
│ │ │ └── users.coffee
│ │ └── stylesheets
│ │ ├── application.css
│ │ └── users.scss
│ ├── controllers
│ │ ├── application_controller.rb
│ │ ├── concerns
│ │ └── users_controller.rb
│ ├── helpers
│ │ ├── application_helper.rb
│ │ └── users_helper.rb
│ ├── mailers
│ ├── models
│ │ ├── concerns
│ │ └── user.rb
│ └── views
│ ├── application
│ │ └── welcome.html.erb
│ ├── layouts
│ │ └── application.html.erb
│ └── users
試試這樣說:'<形式action =「/ users」method =「post」>'? –
謝謝你的工作。 – yoshinator