我被困在一些可能非常愚蠢的事情上,但我找不到我的问题。我在 ubuntu 机器上使用 Rails 3.0.3 和 ruby 1.9.2。
我试图在我的控制器中设置一个实例变量,并使用它在新的视图模板上创建一个表单,但它在我的视图中出现为零。我知道控制器中设置的实例变量应该被复制到视图中,但这里它设置为 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
app/views/urls/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
应用程序/控制器/application_controller.rb
class ApplicationController < ActionController::Base
protect_from_forgery
end