Почему в моем представлении переменная экземпляра Rails nil? - PullRequest
0 голосов
/ 22 января 2011

Я застрял на чем-то невероятно глупом, но не могу найти свою проблему.Я использую Rails 3.0.3 и ruby ​​1.9.2 на компьютере с Ubuntu.

Я пытаюсь просто установить переменную экземпляра в моем контроллере и использовать ее для создания формы в новом шаблоне представленияТем не менее, по моему мнению, он приближается к нулю.Я знаю, что переменные экземпляра, установленные в контроллере, должны быть скопированы в представление, но здесь его значение равно 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 %>

app / controllers / 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 %>

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

app / controllers / application_controller.rb

class ApplicationController < ActionController::Base
  protect_from_forgery
end

1 Ответ

3 голосов
/ 22 января 2011

Боюсь, это зарезервированное слово.

http://wiki.rubyonrails.org/rails/pages/reservedwords

...