2011-01-22 2 views
0

나는 아마 어리석은 일을하고 있을지 모르지만 내 문제는 찾을 수 없다. 우분투 시스템에서 레일즈 3.0.3과 루비 1.9.2를 사용하고 있습니다.내 뷰에서 Rails 인스턴스 변수가 nil이 아닌 이유는 무엇입니까?

컨트롤러에서 인스턴스 변수를 설정하고이를 사용하여 새 뷰 템플릿에서 양식을 만들려고했지만 내보기에서 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 

응용 프로그램/뷰/URL을/new.html.erb

<%= form_for @url do |f| %> 
    <%= f.submit %> 
<% end %> 

응용 프로그램/모델/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 

답변

3

URL은 유감스럽게 생각합니다.

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

+0

@! # #! 감사..! 그걸 수정하면 볼 수있을거야 – noli

+0

모델과 컨트롤러 이름을 UrlRedirect로 변경했는데 작동하지 않았다. @url 인스턴스 변수를 @rurl로 변경했으며 작동했습니다. 다시 한 번 감사드립니다. – noli

관련 문제