为什么我的Rails实例变量在我看来是变量?

时间:2011-01-22 19:37:29

标签: ruby-on-rails ruby-on-rails-3 view controller actionpack

我被困在一些可能令人难以置信的愚蠢,但我找不到我的问题。我在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

1 个答案:

答案 0 :(得分:3)