[英]Rails 5 will not submit my form to create route
当我在表单上按“提交”时,它不会路由到:create路由。 当我按下“ submit”时,它将以参数形式继续进入:new路径。 我刚刚升级到Rails 5并使用了引导程序。 不知道我在做什么错。
Routes.rb
Rails.application.routes.draw do
root 'pizzas#index'
resources :pizzas
resources :toppings
end
Rails路线
Prefix Verb URI Pattern Controller#Action
root GET / pizzas#index
pizzas GET /pizzas(.:format) pizzas#index
POST /pizzas(.:format) pizzas#create
new_pizza GET /pizzas/new(.:format) pizzas#new
edit_pizza GET /pizzas/:id/edit(.:format) pizzas#edit
pizza GET /pizzas/:id(.:format) pizzas#show
PATCH /pizzas/:id(.:format) pizzas#update
PUT /pizzas/:id(.:format) pizzas#update
DELETE /pizzas/:id(.:format) pizzas#destroy
PizzasController
class PizzasController < ApplicationController
def index
@pizzas = Pizza.all
end
def new
@pizza = Pizza.new
end
def create
@pizza = Pizza.new(pizza_params)
render text: params.inspect
end
private
def pizza_params
params.require(:pizza).permit(:name, :description)
end
end
new.html.erb视图
<div class="container">
<h1>Create Your Own Pizza:</h1>
<form class="form-horizontal">
<%= form_for(@pizza) do |f| %>
<div class="form-group">
<%= f.label :name %>
<%= f.text_field :name %>
</div>
<div class="form-group">
<%= f.label :description %>
<%= f.text_field :description %>
</div>
<%= f.submit %>
<% end %>
</form>
</div>
我花了几个小时才弄明白了。
因此出于某种原因,标签不符合要求。 不确定是Rails问题还是Bootstrap。 您必须将它们更改为这样的标签:
<div class="container">
<h1>Create Your Own Pizza:</h1>
<div class="form-horizontal"> // Changed this to a Div Tag
<%= form_for(@pizza) do |f| %>
<div class="form-group">
<%= f.label :name %>
<%= f.text_field :name %>
</div>
<div class="form-group">
<%= f.label :description %>
<%= f.text_field :description %>
</div>
<%= f.submit %>
<% end %>
</div> // Changed this to a Div Tag
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.