ConnectionController中的NoMethodError #index

时间:2017-01-02 10:17:08

标签: ruby-on-rails

当我访问localhost:3000时, 我的浏览器告诉ConnectionController #index中的NoMethodError错误。 另外,我被告知ConnectionController的未定义方法`action'(表不存在):Class。

错误浏览器告诉26行的connection_controller.rb是错误的,但我没有像26行那样写代码。

 send(name, *arguments, &block)
      else
        super
      end
    end

我在connection_controller.rb中写道

class ConnectionController <  ActiveRecord::Base
    def index
        personal = {'name'=>'Yamada','old'=>28}
        render :json => personal

    end
end

在routes.rb中,

Rails.application.routes.draw do


  namespace :connection do
      get '/',action:'index'
    end
end

schema.rb中的

ActiveRecord::Schema.define(version: 20170101073143) do

  create_table "userdata", force: :cascade do |t|
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

end

在迁移文件中,

class CreateUserdata < ActiveRecord::Migration
  def change
    create_table :userdata do |t|
     t.string :name
      t.text :image
      t.timestamps null: false
    end
  end
end

在模型中,

class Userdatum < ActiveRecord::Base
	user = User.new
	user.name = "XXX"
	user.email = "mail"
	user.save
end

1 个答案:

答案 0 :(得分:0)

请注意,Rails中的控制器应该扩展ActionController类,模型应该扩展ActiveRecord::Base类。

你好像已经这样做了

class ConnectionController < ActiveRecord::Base
end

在控制器内部。

应该是

class ConnectionController <  ApplicationController
end