简单表单和路由错误
Simple Form and routing errors
View/Form
<div class="col-lg-12">
<div class="ibox-content">
<div class="row">
<%= simple_form_for supplier_fuel_prices_path(@supplier,@fuel_price), method: :post do |f| %>
<%= f.input :regular, label: "Regular" %>
<%= f.input :medium, label: "Medium"%>
<%= f.input :premium, label: "Premium" %>
<%= f.input :diesel, label: "Diesel" %>
<%= f.button :submit, "Update"%>
<%end%>
</div>
</div>
</div>
</div>
</div>
控制器
class Supplier::FuelPricesController < Supplier::ApplicationController
before_action :set_supplier
def index
end
def new
@fuel_price = @supplier.fuel_prices.build
end
def create
@fuel_price = @supplier.fuel_price.build(fuel_price_params)
if @fuel_price.save
flash[:notice] = "You have successfully Added new Fuel Price."
redirect_to supplier_fuel_prices_path
else
flash.now[:alert] = "Something went wrong. Please try again."
render "new"
end
end
private
def fuel_price_params
params.require(:fuel_price).permit(:regular, :medium, :premium, :diesel)
end
def set_supplier
@supplier = User.find_by(params[:supplier_id])
end
end
型号
用户模型有has_many:fuel_prices,foreign_key::supplier_id
燃油价格模型有 belongs_to "supplier"、class_name:"User"
我在提交表单时遇到的错误是
没有路由匹配 [POST] "/supplier/fuel_prices/new"
我的路线是这样的
namespace :supplier do
root to: 'dashboard#index', as: 'dashboard'
resources :retailers
resources :fuel_prices
end
路线
supplier_fuel_prices_path GET /supplier/fuel_prices(.:format)
POST /supplier/fuel_prices(.:format) supplier/fuel_prices#create
new_supplier_fuel_price_path GET /supplier/fuel_prices/new(.:format) supplier/fuel_prices#new
edit_supplier_fuel_price_path GET /supplier/fuel_prices/:id/edit(.:format) supplier/fuel_prices#edit
supplier_fuel_price_path
您只是想post
走错路。以 new 结尾的 url 通常是 get
请求。 运行 rake routes
并确保您发布到正确的 post
路线并更新您的表格。
View/Form
<div class="col-lg-12">
<div class="ibox-content">
<div class="row">
<%= simple_form_for supplier_fuel_prices_path(@supplier,@fuel_price), method: :post do |f| %>
<%= f.input :regular, label: "Regular" %>
<%= f.input :medium, label: "Medium"%>
<%= f.input :premium, label: "Premium" %>
<%= f.input :diesel, label: "Diesel" %>
<%= f.button :submit, "Update"%>
<%end%>
</div>
</div>
</div>
</div>
</div>
控制器
class Supplier::FuelPricesController < Supplier::ApplicationController
before_action :set_supplier
def index
end
def new
@fuel_price = @supplier.fuel_prices.build
end
def create
@fuel_price = @supplier.fuel_price.build(fuel_price_params)
if @fuel_price.save
flash[:notice] = "You have successfully Added new Fuel Price."
redirect_to supplier_fuel_prices_path
else
flash.now[:alert] = "Something went wrong. Please try again."
render "new"
end
end
private
def fuel_price_params
params.require(:fuel_price).permit(:regular, :medium, :premium, :diesel)
end
def set_supplier
@supplier = User.find_by(params[:supplier_id])
end
end
型号
用户模型有has_many:fuel_prices,foreign_key::supplier_id
燃油价格模型有 belongs_to "supplier"、class_name:"User"
我在提交表单时遇到的错误是
没有路由匹配 [POST] "/supplier/fuel_prices/new"
我的路线是这样的
namespace :supplier do
root to: 'dashboard#index', as: 'dashboard'
resources :retailers
resources :fuel_prices
end
路线
supplier_fuel_prices_path GET /supplier/fuel_prices(.:format) POST /supplier/fuel_prices(.:format) supplier/fuel_prices#create
new_supplier_fuel_price_path GET /supplier/fuel_prices/new(.:format) supplier/fuel_prices#new
edit_supplier_fuel_price_path GET /supplier/fuel_prices/:id/edit(.:format) supplier/fuel_prices#edit supplier_fuel_price_path
您只是想post
走错路。以 new 结尾的 url 通常是 get
请求。 运行 rake routes
并确保您发布到正确的 post
路线并更新您的表格。