添加新作者进行预订

时间:2011-11-23 11:26:56

标签: grails

说我有AuthorBook个域类(一个Author有很多Books)。用户转到book/create输入新Book的详细信息。表单中的一个字段是包含数据库中所有Author个实例的select,但此Book属于不在数据库中的Author

实现接口以在grails中添加新的Author的最佳方法是什么,但保持整个过程对用户来说相对轻松?这就是我的想法:

  • Author字段添加到隐藏div中的Book创建视图
  • 添加一个链接,显示上述字段和保存按钮
  • 通过Ajax发布Author字段以保存它们
  • 更新作者选择以包含新创建的Author
  • 在选择
  • 中自动选择新的Author

我会工作,但这似乎有点令人讨厌的方法(使用非Book字段攻击Book创建视图)。有更好的方式吗?

2 个答案:

答案 0 :(得分:3)

我不认为在Book视图中放置非书籍字段是令人讨厌的。

我不明白是需要单独的Ajax调用来保存新作者 - 为什么不在创建本书的同一个动作中执行此操作?如果用户选择了现有作者,则通常设置该书。如果没有,请检索作者字段值,创建新的Author实例,保存它,然后将book的author字段设置为它。

答案 1 :(得分:1)

blog post详细说明了与您的问题非常相似的解决方案。

blog post扩展了第一篇博文中的解决方案。