0
私のフォームで "submit"を押すと、:createルートにはルーティングされません。私が "submit"を押すと、url内の自分のparamsを使って:新しいルートに行きます。私はRails 5にアップグレードし、ブートストラップを使用しました。私が間違っていることには何の手がかりもありません。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>
「<%= form_for(@pizza)do | f | %> 'は自動的に