当我访问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
答案 0 :(得分:0)
请注意,Rails中的控制器应该扩展ActionController
类,模型应该扩展ActiveRecord::Base
类。
你好像已经这样做了
class ConnectionController < ActiveRecord::Base
end
在控制器内部。
应该是
class ConnectionController < ApplicationController
end