質問

私はおそらく信じられないほど愚かなものに立ち往生していますが、私の問題は見つかりません。 UbuntuマシンでRails 3.0.3とRuby 1.9.2を使用しています。

コントローラーにインスタンス変数を設定し、それを使用して新しいビューテンプレートにフォームを作成しようとしていますが、私のビューではゼロになります。コントローラーに設定されたインスタンス変数は、ビューにコピーされることになっていることを知っていますが、ここではゼロに設定されています。誰かが私が間違っていることを見ることができますか?これが私のエラーメッセージです:

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
役に立ちましたか?

解決

URLは私が恐れている予約された言葉です。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top