小编Jan*_*ddy的帖子

NoMethodError(#<Event:0x6042e88> 的未定义方法“空?”):

我使用postgre数据库创建了一个 Rails API ,其中模型(表)名称为coaching_event

注意:不使用脚手架并使用rails-5

我的辅导事件架构(迁移)如下:

class CreateCounselingEvent < ActiveRecord::Migration[5.0]
def change
create_table :counseling_event do |t|
  t.text :name
  t.datetime :start_time
  t.datetime :end_time
  t.text :location
  t.integer :user_id
  t.integer :role_id
  t.timestamps
 end
 end
end
Run Code Online (Sandbox Code Playgroud)

我在上表中添加了一列,其类型为枚举。列名称是 event_type

现在,在我的控制器(即 CounselingEventController)中,在我的操作索引中,我正在从 coaching_event 表中检索数据。代码如下。

def index
  @counseling_event = CounselingEvent.where(start_time: "2016-10-30".."2016-12-11")
  render body: @counseling_event
end
Run Code Online (Sandbox Code Playgroud)

当我通过以下路线从前端调用此 api 控制器操作时

get 'counseling_event/index'
Run Code Online (Sandbox Code Playgroud)

我在控制台中收到此错误:

CounselingEvent Load (1.5ms)  SELECT "counseling_event".* FROM "counseling_event"

    NoMethodError (undefined method `empty?' for #<CounselingEvent:0x47d1d58>):

    activemodel (5.0.0.1) lib/active_model/attribute_methods.rb:433:in `method_missing'
    rack (2.0.1) …
Run Code Online (Sandbox Code Playgroud)

activemodel ruby-on-rails-5

5
推荐指数
1
解决办法
1798
查看次数

标签 统计

activemodel ×1

ruby-on-rails-5 ×1