Grails在创建域类后返回服务器错误

时间:2015-10-29 12:41:16

标签: grails gorm

我是Grails的新手,我被困在GORM部分。我试图在这个网站http://grails.asia/grails-tutorial-for-beginners-introduction-to-gorm上关于GORM的教程,首先要做的是创建一个域类。但是,按照那里的说明后,我总是收到下面显示的错误。

我的控制器用于插入记录

ranged_monster

enter image description here enter image description here

enter image description here。这有什么问题。我缺少什么?请帮忙。

package nba

class PlayerController {

def index() { 

    //render "It's game time! NBA Game time"
    Player p = new Player()
    p.fname = "Lebron"
    p.lname = "James"
    p.position = "Small Forward"
    p.age = 30

  }
}

1 个答案:

答案 0 :(得分:1)

抱歉,我没有看到你的评论:

首先扩展我上面的评论并更好地解释grails控制器行为。我会坚持渲染你有其他选择。

在控制器中声明操作时:

所以我们说

class TestController {
    def hello() { }
}

您可能有也可能没有绑定到此示例TestController的domainClass,如果您执行了域类,则{package} /Test.groovy {匹配控制器的命名结构}。

在此示例中,我们没有域控制器,只要您在名为

的视图下创建文件夹,上面的操作就会显示一些内容
test/hello.gsp

所以在那个测试文件夹中你创建了hello.gsp,然后放入一些html ..

如果你没有

test/hello.gsp

然后在您的控制器中,您必须定义要渲染的内容。

class TestController {
        def hello() { 
          // render 'some text'
          //render template: '/path/to/template', model: [params:params]
          render view: '/path/to/gsp', model: [params:params]
        }
    }

然后你说:

  

这是我在创建域类播放器时出错的方法   然后把字段名称(fname,lname,position,age),它   成功后,表格播放器与数据库一起创建   字段名称,但当我重新启动运行服务器时,表是   自动删除并且运行服务器返回错误。   有什么问题?

首先,您需要问问自己,您是否配置/安装了一些数据库,以便最初看到它正常工作?

Grails为您提供内置数据库,作为其默认应用程序创建的一部分驻留在您的内存中。简而言之,每个运行应用程序都会触发一个新的数据库。

E2A

注意dbCreate行:

  

create-drop:在应用程序启动时创建表,然后在关闭时删除

     

创建:在应用启动时创建所有表

     

更新:更新现有表格(不会尝试创建任何由您决定的表格)

http://grails.github.io/grails-doc/3.0.x/guide/conf.html

  

在开发模式下,dbCreate默认设置为“create-drop”,但是   在开发的某个阶段(当然,一旦你去生产)   你需要每次都停止删除并重新创建数据库   你启动你的服务器。