scaffoldや def Newのページを既に作っていて、同時にindex.html.erb上にもnew.html.erbで出るようなフォームを表示させたいと思ったんです。
なんで<% render 'form' %>してきたものをindex.html.erbに表示させようとしたわけですが、rails sで立ち上げると、以下のようなエラーが発生しました。
Showing app/views/presences/_form.html.erb where line #1 raised:
undefined method `model_name' for NilClass:Class
え?モデルネーム?聞いたことないけど??
いやいや定義してるでしょ?って思ったんですが、解決策はstackoverflowにもあるように、
同じ物をindex.html.erbにも定義させる必要があるってことです。
以下参考ページ↓
http://stackoverflow.com/questions/6430426/undefined-method-model-name
いや、そりゃそうでしょwwと思った方はごめんなさい。笑
てことで僕の場合は、
def index
@pages = Page.all(:order => "created_at DESC")
@page = Page.new #この行を追加することでエラーが消えました。
end
def new
@page = Page.new
end
以上です。