私はおそらく信じられないほど愚かな何かについていますが、私は問題を見つけることができません。私はubuntuマシンでRails 3.0.3とruby 1.9.2を使用しています。私のビューでRailsのインスタンス変数がnilにならないのはなぜですか?
私は自分のコントローラにインスタンス変数を設定し、それを使って新しいビューテンプレートにフォームを作成しようとしていますが、私のビューではnilになっています。コントローラに設定されたインスタンス変数はビューにコピーされるはずですが、ここではnilに設定されています。誰かが私が間違っているのを見ることができますか?ここに私のエラーメッセージは次のとおりです。
NoMethodError in Urls#new
undefined method `model_name' for NilClass:Class
Extracted source (around line #1):
1: <%= form_for @url do |f| %>
2: <%= f.submit %>
3: <% end %>
アプリ/コントローラ/ urls_controller.rb
class UrlsController < ApplicationController
def new
@url = Url.new
end
end
アプリ/ビュー/のURL/new.html.erb
<%= form_for @url do |f| %>
<%= f.submit %>
<% end %>
アプリ/モデル/ URL .rb
# == Schema Information
# Schema version: 20110122002326
#
# Table name: urls
#
# id :integer not null, primary key
# long_url :text
# short_url :string(255)
# created_at :datetime
# updated_at :datetime
#
class Url < ActiveRecord::Base
end
app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
protect_from_forgery
end
@!#$!ありがとう..!それが修正されるかどうかを確認します。 – noli
モデル名とコントローラ名をUrlRedirectに変更しましたが動作しませんでした。私は@urlインスタンス変数を@rurlに変更し、うまくいきました。再度、感謝します – noli