【问题标题】:Cannot configure crudsiena module for play framework 1.2.2无法为 play framework 1.2.2 配置 crudsiena 模块
【发布时间】:2011-07-19 00:10:23
【问题描述】:

我正在尝试在 Play Framework(1.2.2) + siena (2.0.2) + crudsiena(2.0.1) + gae(1.4) 上创建基本应用程序。所有这些都是我从 play 的依赖管理系统中获得的。 我正在跟踪文档中的示例,但遇到了一个奇怪的错误:

未找到 els.list 未找到操作

然后在注册的路由中使用相同的“吃掉”类名称:

获取 /admin/?其他索引

GET /admin/mymodels els.list

GET /admin/mymodels/new els.blank

GET /admin/mymodels/{id} els.show

堆栈跟踪非常严格:

play.exceptions.ActionNotFoundException: Action els.index not found
    at play.mvc.ActionInvoker.getActionMethod(ActionInvoker.java:585)
    at play.mvc.ActionInvoker.resolve(ActionInvoker.java:84)
    at Invocation.HTTP Request(Play!)
Caused by: java.lang.Exception: Controller controllers.els not found
    ... 3 more

我的文件如下所示:

app/models/MyModels.java:

package models;

import controllers.CRUD;
import controllers.CRUD.For;

@For(models.MyModel.class)
public class MyModels extends CRUD {

}

app/models/MyModel.java:

package models;

import java.util.Date;

import siena.Id;
import siena.Model;

public class MyModel extends Model {
    @Id
    Long id;
    String name;
    String description;
    Integer price;
    Boolean avaliable;
    Date menuItemCreated;

}

+ 路由设置为 /admin 模块:crudsiena + dependencies.yml 添加了关于 gae、siena 和 crudsiena 的行

其他文件保持不变。

有人知道我做错了什么吗?

感谢您的建议。

【问题讨论】:

  • 您的 els 控制器中是否定义了索引或列表操作?
  • 问题是没有“els”控制器。这些动作在我在 MyModels 类中扩展的 controller.CRUD 中。所以它意味着是“MyModels”控制器,但由于未知原因,它只是从类名的开头截断了一些字符。我认为这是某种约定的意思,但我在文档中找不到任何关于它的字眼。

标签: google-app-engine playframework crud siena


【解决方案1】:

为什么你的控制器在包模型中?它不应该在包控制器中吗?

【讨论】:

  • 谢谢,好像有帮助。在一些魔术和移动控制器到“控制器”包之后,它就像它应该的那样工作
  • 如果您有问题,请随时告诉我,因为通常您会按照文档中解释的方式使用 crudsiena,但如果您更改它,可能会出现一些问题!
  • 再次感谢,将课程转移到正确的包中确实很有帮助。我会问将来是否会出现一些问题:)(但我想不是因为仅将 crudsiena 用于开发)
猜你喜欢
  • 2017-07-02
  • 2012-04-14
  • 1970-01-01
  • 1970-01-01
  • 2015-02-04
  • 1970-01-01
  • 2017-06-02
  • 2016-07-02
  • 1970-01-01
相关资源
最近更新 更多