私のホームページのフォームとコントローラーの間にデータベースオブジェクトを作成する際に、読み込み時にタイトルにエラーが表示されるページ。NoMethodError in Pages#ホーム:未定義のメソッド 'color' for#<色:0x007fe71261c708>
home.html.erb
<%= form_for :colours do |f| %>
<span class="form-group">
<%= f.text_field :colour, required: true, class: "balloon", id: "colour", placeholder: "Colour category (red, blue..)" %><label for="colour">Colour</label>
</span>
<span class="form-group">
<%= f.number_field :bold, required: true, class: "balloon-num", id: "bold", min: 1, max: 12, placeholder: "1-12" %><label for="bold">Boldness</label>
</span>
<span class="form-group">
<%= f.number_field :bright, required: true, class: "balloon-num", id: "bright", min: 1, max: 12, placeholder: "1-12" %><label for="bright">Brightness</label>
</span>
<span class="form-group">
<%= f.number_field :num, required: true, class: "balloon-num", id: "num", min: 1, max: 5, placeholder: "1-5" %><label for="num"># Colours</label>
</span>
<span class="form-group">
<button class="button" id="generate" type="submit"><i class="fi-arrow-right"></i></button>
</span>
<% end %>
コントローラ/ colours_controller.rb
class ColoursController < ApplicationController
def home
@colours = Colours.new
end
def create
@colours = Colours.new(colours_params)
if @colours.save
redirect_to root_path
else
redirect_to root_path, notice: "Error."
end
end
private
def colours_params
params.require(:colours).permit(:colour, :bold, :bright, :num)
end
end
コントローラ/ pages_controller:それを引き起こしているのかわからない、ここに関連するファイル/コードは、 .rb
class PagesController < ApplicationController
def home
@colours = Colours.new
end
private
def colours_params
params.require(:colours).permit(:colour, :bold, :bright, :num)
end
end
のconfig/routes.rbを
Rails.application.routes.draw do
root to: 'pages#home'
resources :colour, only: [:home, :create]
end
デシベル/移行/ 20161215012944_create_colours.rb
class CreateColours < ActiveRecord::Migration[5.0]
def change
create_table :colours do |t|
t.string :colour
t.integer :bold
t.integer :bright
t.integer :num
t.timestamps
end
end
end
モデル/ colours.rb
class Colours < ActiveRecord::Base
end
私はしました蜂誰もが一日中何ができるか捜索して幸運なことを人々に尋ねると、うまくいけば、誰かがここで私の誤りを見て、私にその訂正方法を説明することができます。ありがとうございました!更新が変更さ
":色" 今、次のエラーを取得 "@colours" への私のform_forタグで、:
undefined method `colours_index_path' for #<#<Class:0x007fe711dbfab0>:0x007fe704401058>
Did you mean? colours_path
アップデート2コンソールで、「バンドルのexecレールルート戻り値:
Prefix Verb URI Pattern Controller#Action
root GET/ pages#home
colour_index POST /colour(.:format) colour#create
アップデート3 Rを実行しますコンソールリターンでの不振の解決策ルート:
Prefix Verb URI Pattern Controller#Action
root GET / pages#home
colour_index GET /colour(.:format) colour#index
POST /colour(.:format) colour#create
new_colour GET /colour/new(.:format) colour#new
edit_colour GET /colour/:id/edit(.:format) colour#edit
colour GET /colour/:id(.:format) colour#show
PATCH /colour/:id(.:format) colour#update
PUT /colour/:id(.:format) colour#update
DELETE /colour/:id(.:format) colour#destroy
複数の名前のモデルは使用しないでください。あなたのモデルは 'Colours'ではなく' Colour'と呼ばれるべきです。 – meagar