Pourquoi mon exemple Rails nulle variable selon moi?
-
22-10-2019 - |
Question
Je suis bloqué sur someothing probablement incroyablement stupide, mais je ne peux pas trouver mon problème. J'utilise Rails 3.0.3 et Ruby 1.9.2 sur une machine ubuntu.
J'essaie de simplement définir une variable d'instance dans mon contrôleur, et l'utiliser pour créer un formulaire sur un nouveau modèle de vue, mais il est à venir nul à mon avis. Je sais que les variables d'instance définies dans le contrôleur sont censés être copiés dans la vue, mais ici son ensemble à zéro. Quelqu'un peut-il voir ce que je fais mal? Voici mon message d'erreur:
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 / modèles / 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
La solution
Url est un mot réservé, j'ai peur.