Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.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
Ruby on rails Scala(任何框架)中是否有CRUD生成器实用程序,如Rails中的脚手架?_Ruby On Rails_Scala_Crud_Scaffolding - Fatal编程技术网

Ruby on rails Scala(任何框架)中是否有CRUD生成器实用程序,如Rails中的脚手架?

Ruby on rails Scala(任何框架)中是否有CRUD生成器实用程序,如Rails中的脚手架?,ruby-on-rails,scala,crud,scaffolding,Ruby On Rails,Scala,Crud,Scaffolding,见: 我有同样的问题,但是关于Scala。我知道Play framework 1.x有生成器,但2.x删除了它们,是否有任何基于Scala的web框架的可用CRUD/脚手架生成器?复制评论中的答案,以便从“未回答”过滤器中删除此问题: 没有,在play用户组上讨论过这件事,没有任何计划。Twitter引导+DAO实现+RESTful路由是您的最佳选择;i、 你自己滚吧 查看关于集成TB[Twitter Bootstrap]的文档,非常棒,为您提供了一个非常好的启动,CRUD与Play相当容易

见:


我有同样的问题,但是关于Scala。我知道Play framework 1.x有生成器,但2.x删除了它们,是否有任何基于Scala的web框架的可用CRUD/脚手架生成器?

复制评论中的答案,以便从“未回答”过滤器中删除此问题:


没有,在play用户组上讨论过这件事,没有任何计划。Twitter引导+DAO实现+RESTful路由是您的最佳选择;i、 你自己滚吧


查看关于集成TB[Twitter Bootstrap]的文档,非常棒,为您提供了一个非常好的启动,CRUD与Play相当容易


~answer per

我也在搜索一个脚手架工具(它弹出了你的问题),结果发现:

我做了还没有尝试过,但医生看起来它会做这项工作:

/skinny g model tweet userId:Long text:String user:Option[user]
将创造

package model

import skinny.orm._, feature._
import scalikejdbc._
import org.joda.time._

// If your model has +23 fields, switch this to normal class and mixin scalikejdbc.EntityEquality.
case class Tweet(
  id: Long,
  userId: Long,
  text: String,
  user: Option[User] = None,
  createdAt: DateTime,
  updatedAt: DateTime
)

object Tweet extends SkinnyCRUDMapper[Tweet] with TimestampsFeature[Tweet] {

  override lazy val defaultAlias = createAlias("t")

  lazy val userRef = belongsTo[User](User, (t, u) => t.copy(user = u))

  /*
   * If you're familiar with ScalikeJDBC/Skinny ORM, using #autoConstruct makes your mapper simpler.
   * (e.g.)
   * override def extract(rs: WrappedResultSet, rn: ResultName[Tweet]) = autoConstruct(rs, rn)
   *
   * Be aware of excluding associations like this:
   * (e.g.)
   * case class Member(id: Long, companyId: Long, company: Option[Company] = None)
   * object Member extends SkinnyCRUDMapper[Member] {
   *   override def extract(rs: WrappedResultSet, rn: ResultName[Member]) =
   *     autoConstruct(rs, rn, "company") // "company" will be skipped
   * }
   */
  override def extract(rs: WrappedResultSet, rn: ResultName[Tweet]): Tweet = new Tweet(
    id = rs.get(rn.id),
    userId = rs.get(rn.userId),
    text = rs.get(rn.text),
    createdAt = rs.get(rn.createdAt),
    updatedAt = rs.get(rn.updatedAt)
  )
}

希望这有帮助

没有,在play用户组上讨论过这件事,没有任何计划。Twitter引导+DAO实现+RESTful路由是您的最佳选择;i、 你自己滚。@virtualeyes谢谢,我担心会是这样。我在想,为了教育的目的,我需要修补一下,在我开始这个实验之前,我应该知道什么吗?有什么可以开始的吗?查看关于集成TB的文档,非常棒,给你一个很好的开端,CRUD和Play相当容易。@virtualeyes谢谢,请原谅我的无知,TB代表什么?在文档中找不到它:Twitter引导,或者一种可怕的疾病——在本例中,它是前者;-)