StackOverflow 도움말, 당신은 저의 유일한 희망입니다.레일 3.1 비계에 대해 정의되지 않은 메소드`model_name '은 NilClass입니다.
나는 다음과 같은 오류가 발생하고 그게 나를 미치게한다. 1 호선 제기 /home/paul/rails_projects/recruits/app/views/players/_form.html.haml보기 플레이어 # 새로운
에서
나는 이것이를 사용하여 만든 발판 발전기. 다른 지역에서는 잘 작동했지만 여기서는 분명히 아닙니다.NoMethodError :
정의되지 않은 메서드`MODEL_NAME '무기 호에 대한 : NilClass
추출 소스 (약 1 호선) :
1 : = form_for @player 할 | f를을 |
2 : -if @ player.errors.any?
3 #error_explanation
4 %의 H2 = "# {(@ player.errors.count, 복수형" "이 저장되는 것을 금지 플레이어 에러)}"템플릿 개재물
추적 : app/views/players/new.html.haml
Rails.root :/home/paul/rails_projects/recruits 응용 프로그램 추적 | 프레임 워크 추적 | 전체 추적
응용 프로그램/뷰/플레이어/_form.html.haml : 1 :
_app_views_players__form_html_haml___279577567_106102840' app/views/players/new.html.haml:3:in
_app_views_players_new_html_haml__860668925_106567710에서 ' 응용 프로그램/컨트롤러/players_controller.rb : 29 : 새로운`에서'
여기에 관련 파일이 있습니다 (scaffold 명령으로 생성 된 파일에 대한 유일한 변경 사항은 attr_accessable을 플레이어 모델에 추가하는 것이 었습니다).
모델/player.rb
class Player < ActiveRecord::Base
attr_accessible :first_name, :last_name, :scout_height, :scout_weight,
:scout_profile_url, :scout_star_rating, :scout_overall_ranking,
:scout_position_ranking, :scout_position, :espn_height, :espn_weight,
:espn_profile_url, :espn_star_rating, :espn_overall_ranking,
:espn_position_ranking, :espn_position, :rivals_height, :rivals_weight,
:rivals_profile_url, :rivals_star_rating, :rivals_overall_ranking,
:rivals_position_ranking, :rivals_position, :maxprep_height, :maxprep_weight,
:maxprep_profile_url, :maxprep_star_rating, :maxprep_overall_ranking,
:maxprep_position_ranking, :maxprep_position, :class, :school_commit, :loi_signed
end
컨트롤러/players_controller.rb
class PlayersController < ApplicationController
# GET /players
# GET /players.json
def index
@players = Player.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @players }
end
end
# GET /players/1
# GET /players/1.json
def show
@player = Player.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @player }
end
end
# GET /players/new
# GET /players/new.json
def new
@player = Player.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @player }
end
end
# GET /players/1/edit
def edit
@player = Player.find(params[:id])
end
# POST /players
# POST /players.json
def create
@player = Player.new(params[:player])
respond_to do |format|
if @player.save
format.html { redirect_to @player, notice: 'Player was successfully created.' }
format.json { render json: @player, status: :created, location: @player }
else
format.html { render action: "new" }
format.json { render json: @player.errors, status: :unprocessable_entity }
end
end
end
# PUT /players/1
# PUT /players/1.json
def update
@player = Player.find(params[:id])
respond_to do |format|
if @player.update_attributes(params[:player])
format.html { redirect_to @player, notice: 'Player was successfully updated.' }
format.json { head :ok }
else
format.html { render action: "edit" }
format.json { render json: @player.errors, status: :unprocessable_entity }
end
end
end
# DELETE /players/1
# DELETE /players/1.json
def destroy
@player = Player.find(params[:id])
@player.destroy
respond_to do |format|
format.html { redirect_to players_url }
format.json { head :ok }
end
end
end
보기/플레이어/new.html.haml
%h1 New player
= render 'form'
= link_to 'Back', players_path
보기/플레이어/_form. html.haml
= form_for @player do |f|
-if @player.errors.any?
#error_explanation
%h2= "#{pluralize(@player.errors.count, "error")} prohibited this player from being saved:"
%ul
- @player.errors.full_messages.each do |msg|
%li= msg
.field
= f.label :first_name
= f.text_field :first_name
.field
= f.label :last_name
= f.text_field :last_name
.field
= f.label :scout_height
= f.number_field :scout_height
.field
= f.label :scout_weight
= f.number_field :scout_weight
.field
= f.label :scout_profile_url
= f.text_field :scout_profile_url
.field
= f.label :scout_star_rating
= f.number_field :scout_star_rating
.field
= f.label :scout_overall_ranking
= f.number_field :scout_overall_ranking
.field
= f.label :scout_position_ranking
= f.number_field :scout_position_ranking
.field
= f.label :scout_position
= f.text_field :scout_position
.field
= f.label :espn_height
= f.number_field :espn_height
.field
= f.label :espn_weight
= f.number_field :espn_weight
.field
= f.label :espn_profile_url
= f.text_field :espn_profile_url
.field
= f.label :espn_star_rating
= f.number_field :espn_star_rating
.field
= f.label :espn_overall_ranking
= f.number_field :espn_overall_ranking
.field
= f.label :espn_position_ranking
= f.number_field :espn_position_ranking
.field
= f.label :espn_position
= f.text_field :espn_position
.field
= f.label :rivals_height
= f.number_field :rivals_height
.field
= f.label :rivals_weight
= f.number_field :rivals_weight
.field
= f.label :rivals_profile_url
= f.text_field :rivals_profile_url
.field
= f.label :rivals_star_rating
= f.number_field :rivals_star_rating
.field
= f.label :rivals_overall_ranking
= f.number_field :rivals_overall_ranking
.field
= f.label :rivals_position_ranking
= f.number_field :rivals_position_ranking
.field
= f.label :rivals_position
= f.text_field :rivals_position
.field
= f.label :maxprep_height
= f.number_field :maxprep_height
.field
= f.label :maxprep_weight
= f.number_field :maxprep_weight
.field
= f.label :maxprep_profile_url
= f.text_field :maxprep_profile_url
.field
= f.label :maxprep_star_rating
= f.number_field :maxprep_star_rating
.field
= f.label :maxprep_overall_ranking
= f.number_field :maxprep_overall_ranking
.field
= f.label :maxprep_position_ranking
= f.number_field :maxprep_position_ranking
.field
= f.label :maxprep_position
= f.text_field :maxprep_position
.field
= f.label :class
= f.number_field :class
.field
= f.label :school_commit
= f.text_field :school_commit
.field
= f.label :loi_signed
= f.check_box :loi_signed
.actions
= f.submit 'Save'
routes.rb
Recruits::Application.routes.draw do
resources :schools
resources :players
#get \"users\/show\"
root :to => "home#index"
devise_for :users
resources :users, :only => :show
end
David 님, Player 모델 이름을 변경했습니다.이 문제를 해결하기 위해 몇 가지 다른 작업을 수행 했었지만이 작업으로 돌아가는 것은 효과가있는 것으로 보입니다. 그래서 나는 당신의 제안으로 인해 내 다른 작업을하지 않을 것이라고 확신합니다. –