0

フォームを作成しようとすると、次のエラーが発生します。undefined method 'model_name' for NilClass:Class

私のこのプロジェクトは、私のアイデアを取り込むことです。私はグーグルドキュメントを使うことができましたが、これは自分でアプリをコーディングするのに十分簡単なはずだと考えました。以下は、newopp.html.erb(oppsビューフォルダー内)の単純なフォームサイトで読んだものからのものであると思うコードです。

コントローラーとモデルを作成しましたが、問題の一部は、この手順を正しく完了するために何をコーディングする必要があるのか​​、またはコードに何を追加するのかがわからないという事実です。私が見たすべてのチュートリアルは、私に遊んで、無駄に仕事をしようとするいくつかのアイデアを与えてくれました。

つまり、基本的に、私はopps_controller.rbという名前のレールで生成されたコントローラーとopp.rbという名前のモデルに座っています。これらは両方とも、正方形に戻らなければならなかったので、ジェネレーターが提供したものにすぎません。

私が始めた単純なフォームコード

<%= simple_form_for @opp do |f| %>
  <%= f.input :title %>
  <%= f.input :subtitle %>
  <%= f.input :description %>
  <%= f.input :idea %>
  <%= f.input :added %>
  <%= f.button :submit %>
<% end %>

opp.rbファイル

class Opp < ActiveRecord::Base
  attr_accessible :added, :description, :idea, :subtitle, :title
end

違いが生じる場合は、データベースを移行し、ブートストラップ構成を使用して単純なフォームインストールスクリプトを実行しました。使用rails 3.2.9しているruby 1.9.3p362(2012-12-25リビジョン38607)[x86_64-darwin12.2.1]

前述したように、ジェネレーターを使用して作成された空のコントローラーがあり、CRUD機能を機能させる必要があります。私が試したすべては、この時点で失敗しました。私はあなたが提供できるどんな援助にも感謝します。

4

1 に答える 1

1

あるべきではありませんnewopp.html.erb、ただnew.html.erb。したがって、パスは/views/opps/new.html.erb

それでもエラーが発生する場合@oppは、コントローラーで定義されていることを確認してください。

class OppsController < ApplicationController
  def new
    @opp = Opp.new
  end

  def create
    @opp = Opp.new
    if @opp.update_attributes(params[:opp])
      ...
    else
      render 'new'
    end
  end
end
于 2013-03-26T01:45:43.500 に答える