繁体   English   中英

Rails 5将不会提交我的表单来创建路线

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM