Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angularjs和Grails2.5.0保存成功,没有错误,但没有保存到数据库_Angularjs_Database_Grails_H2_Angular Resource - Fatal编程技术网

angularjs和Grails2.5.0保存成功,没有错误,但没有保存到数据库

angularjs和Grails2.5.0保存成功,没有错误,但没有保存到数据库,angularjs,database,grails,h2,angular-resource,Angularjs,Database,Grails,H2,Angular Resource,我一直在寻找类似的情况,如我的,我已经看到,这是常见的错误,但我不能找到正确的解决方案,我的问题。我真的很感激任何帮助 我现在的问题是,当我执行这个命令时,它返回HTTP 200,并在我的终端上打印一行,确认它创建了JSON文件。没有错误,但是当我检查我的数据库时,里面什么都没有 到目前为止,我所尝试的: newBook.save(刷新:true) 从create drop到update编辑我的数据源(但是我的整个数据库都消失了,所以我返回了数据。我只需要在演示过程中保存它,这样我就知道每次应用

我一直在寻找类似的情况,如我的,我已经看到,这是常见的错误,但我不能找到正确的解决方案,我的问题。我真的很感激任何帮助

我现在的问题是,当我执行这个命令时,它返回HTTP 200,并在我的终端上打印一行,确认它创建了JSON文件。没有错误,但是当我检查我的数据库时,里面什么都没有

到目前为止,我所尝试的:

  • newBook.save(刷新:true)

  • 从create drop到update编辑我的数据源(但是我的整个数据库都消失了,所以我返回了数据。我只需要在演示过程中保存它,这样我就知道每次应用程序重新启动时数据都会丢失)

  • 邮递员接送

  • 得到:200好吗

    邮政:200行

    但当我再回来的时候,什么都没有出现

  • 使用console和println进行调试(但由于我刚刚开始学习AngularJS和Grails,所以可能遗漏了一些东西)
  • 我希望这些数据能提供关于我问题的详细信息,我愿意回答任何问题

    以下是我的示例代码:

    后端代码:Grails2.5.0

    域类

    class Book {
    
        String name
        int page
        boolean new
    
        static belongsTo = [student: student]
    
        static constraints = {
        }
    }
    
    .state("book", {
            url: "/book",
            templateUrl: "assets/app/partials/book.html",
            controller: 'Book',
            data: {
                requiresLogin: true
            }
        })
    
    控制器

    import grails.converters.JSON
    import org.springframework.security.access.annotation.Secured
    
    @Secured('permitAll')
    
    class BookController {
    
        def index() {
            render Book.list() as JSON
        }
    
        def save() {
            def newBook = new Book(request.JSON)
            newBook.save(flush: true)
            println request.JSON
            render(['success': true] as JSON)
        }
    
        def show() {
            def Book = Book.get(params.id)
    
            render Book as JSON
        }
    }
    
    前端代码:AngularJS

    控制器 应用控制器('Book',函数($scope,store,$state,bookFactory){

    服务

    app.factory('bookFactory', ['$resource', function ($resource) {
        return $resource('api/book',
            {
                'update': {method: 'PUT'}
            })
    }])
    
    app.js

    class Book {
    
        String name
        int page
        boolean new
    
        static belongsTo = [student: student]
    
        static constraints = {
        }
    }
    
    .state("book", {
            url: "/book",
            templateUrl: "assets/app/partials/book.html",
            controller: 'Book',
            data: {
                requiresLogin: true
            }
        })
    
    HTML

     Book Name:
    <input type="text" ng-model="book.name" name="bookName" required="" class="form-control" /> 
    
    Number of Pages: 
    <input type="number" ng-model="book.page" name="numberPage" required="" class="form-control" placeholder="Number of Pages"/> 
    
    Bought within the last 30 days?
    <div class="form-group">
            <div class="radio">
                <label>
                    <input type="radio" name="new" value=true ng-model="book.new" >
               <font color=green>YES</font>
            </label>
        </div>
        <div class="radio">
            <label>
                <input type="radio" name="new" value=false ng-model="book.new">
                <font color=red>NO</font>
            </label>
        </div>
    </div>
    <a ui-sref="book" class="btn btn-primary" name="bookBtn" ng-click="saveBook()"> Next </a>
    
    书名:
    页数:
    在过去30天内买的?
    对
    不
    下一个
    
    您是否尝试过使用
    FailOneError:true
    保存?当保存无效对象时,它将引发异常。@tylerwal感谢您的建议。我通过这样做阅读并解决了问题。因为**学生和图书类之间存在关系*,并且我没有使用任何约束将其设置为null。Grails他告诉我,我必须为学生类输入一个值,然后才能将其保存到数据库中。