~~~ 找到了解决办法!~~~我把jean_controller.rb中的def新方法改成了
def new
@jean = Jean.create(params[:id])
end
并在我的 _form 部分中大写我的模型和描述(以匹配我的迁移文件中的大写模型和描述)
谢谢各位的帮助!
~~~~~~~~~~~~~~~~~
因此,我广泛寻找解决问题的方法,但无济于事。它驱使我专门创建一个帐户来问这个问题。我正在使用导轨 4.2.0
我正在使用本教程https://mackenziechild.me/12-in-12/4/来构建 Pinterest 克隆,但我的 _form.html.haml 部分遇到了这个错误:
Jeans#new /app/views/jeans/_form.html.haml 中的 ActionController::UrlGenerationError 其中第 1 行引发:没有路由匹配 {:action=>"show", :controller=>"jeans"} 缺少必需的键: [:ID]
我用 input_html 尝试了各种解决方案:,改变我的模型,jeans_controller ......等等
这是我的部分代码:(第一行缩进正确,但我不知道如何让它在stackoverflow上正确显示)
= simple_form_for @jean, html: { multipart: true } do |f|
- if @jean.errors.any?
#errors
%h2
= pluralize(@jean.errors.count, "error")
prevented this Jean Model from saving
%ul
- @jean.errors.full_messages.each do |msg|
%li= msg
.form-group
= f.input :model, input_html: { class: 'form-control' }
.form-group
= f.input :description, input_html: { class: 'form-control' }
.form-group
= f.input :price, input_html: { class: 'form-control' }
= f.button :submit, class: "btn btn-primary"
这是我的控制器代码:
class JeansController < ApplicationController
def index
end
def show
@jean=Jean.find(params[:id])
end
def new
@jean = Jean.new
end
def create
@jean = Jean.new(jean_params)
end
private
def jean_params
params.require(:jean).permit(:model, :description, :price)
end
end
和我的 routes.rb
Rails.application.routes.draw do
resources :jeans
root "jeans#index"
end
谁能帮我?:(: