Frage

Ich stecke wahrscheinlich unglaublich dumm, aber ich kann mein Problem nicht finden. Ich verwende Rails 3.0.3 und Ruby 1.9.2 auf einer Ubuntu -Maschine.

Ich versuche, nur eine Instanzvariable in meinem Controller festzulegen und es zu erstellen, um ein Formular für eine neue Ansichtsvorlage zu erstellen, aber in meiner Sicht kommt es null auf. Ich weiß, dass Instanzvariablen, die im Controller eingestellt sind, in die Ansicht kopiert werden sollen, aber hier ist es auf Null. Kann jemand sehen, was ich falsch mache? Hier ist meine Fehlermeldung:

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/Controller/urls_controller.rb

class UrlsController < ApplicationController
  def new
    @url = Url.new
  end
end

App/Ansichten/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/Controller/application_controller.rb

class ApplicationController < ActionController::Base
  protect_from_forgery
end
War es hilfreich?

Lösung

URL ist ein reserviertes Wort, das ich fürchte.

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top