¿Por qué mi instancia de Rails es variable nula en mi opinión?
-
22-10-2019 - |
Pregunta
Estoy atrapado en algo que probablemente es increíblemente estúpido, pero no puedo encontrar mi problema. Estoy usando Rails 3.0.3 y Ruby 1.9.2 en una máquina Ubuntu.
Estoy tratando de configurar una variable de instancia en mi controlador y usarla para crear un formulario en una nueva plantilla de vista, pero está apareciendo nulo en mi vista. Sé que se supone que las variables de instancia establecidas en el controlador se copian a la vista, pero aquí está establecida en nil. ¿Alguien puede ver lo que estoy haciendo mal? Aquí está mi mensaje de error:
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/vistas/urls/new.html.erb
<%= form_for @url do |f| %>
<%= f.submit %>
<% end %>
aplicación/modelos/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
Solución
URL es una palabra reservada, me temo.