我被困在一些可能令人难以置信的愚蠢,但我找不到我的问题。我在ubuntu机器上使用Rails 3.0.3和ruby 1.9.2。
我正在尝试在我的控制器中设置一个实例变量,并使用它在新的视图模板上创建一个表单,但在我的视图中它只是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
应用程序/视图/网址/ new.html.erb
<%= form_for @url do |f| %>
<%= f.submit %>
<% end %>
app / models / 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