我用Play!框架1.2.5
我有一个模块'businessmodel'.在conf/routes中:
GET/businessmodel.Admin.index
我有控制器:
package controllers.businessmodel;
import play.mvc.Controller;
public class Admin extends Controller { ...
Run Code Online (Sandbox Code Playgroud)
和一个观点:
/view/businessmodel/Admin/index.html
在依赖于此模块的主应用程序中,在conf/routes中我有:
GET/admin模块:businessmodel
当转到myhost:9000/admin我在页面上有错误:
找不到
GET/admin
此外,在同一个错误页面上,我有已定义路由的列表:
GET / Application.index
GET /admin/ businessmodel.Admin.index
GET /favicon.ico 404
GET /public/ staticDir:public
* /{controller}/{action} {controller}.{action} {controller}.{action}
Run Code Online (Sandbox Code Playgroud)
-
但是如果将模块的路由更改为此行(添加'?'):
GET /? businessmodel.Admin.index
Run Code Online (Sandbox Code Playgroud)
然后我们有不同的错误:
@ 6cpelo7bh请求GET/admin的内部服务器错误(500)
找不到操作无法找到操作businessmodel.Admin.index.引发的错误是MODULE $
我想错过一些定义吗?
如果我有一个directive,controller它的身体有自己的定义:
directives.directive("formWrapper", ['User','$location', function(User, $location) {
return {
...
template: '<div>' +
'<input ng-click="cancel()" type="button" value="Cancel"/>' +
'<input ng-click="save()" type="button" value="Save" />' +
'</div>',
controller: function($scope, $location, User) {
$scope.fields = User.get( {username: "username"} );
var save = function() {...}
var cancel = function() {...}
}
}
}]);
Run Code Online (Sandbox Code Playgroud)
在一template节我试图达到功能,save()并cancel()在控制器中定义.
现在它点击这些按钮没有任何作用.
我真的不想定义
save()和cancel()在$scope,因为只有这个指令应该使用它们.或者也许可以让他们在$scope?不确定那种隔离.
问:我怎样才能实现它?一些常见的解决方案/愿景?
在这里
它说这应该工作:
function isPrime(element, index, array) {
var start = 2;
while (start <= Math.sqrt(element)) {
if (element % start++ < 1) return false;
}
return (element > 1);
}
console.log( [4, 5, 8, 12].find(isPrime) ); // 5
Run Code Online (Sandbox Code Playgroud)
但是我最终遇到了一个错误:
TypeError: undefined is not a function
Run Code Online (Sandbox Code Playgroud)
这是为什么?
聚苯乙烯
我试图不使用underscorejs库,因为浏览器应该find()已经支持类似的功能。
通过 Scala.js 的 sbt fastOptJS,我只想重定向myproject/target/scala-2.11/web-fastopt.js到myproject/js这可能吗?
相同web-jsdeps.js- 将其重定向到/myproject/libs
我读过这个 Scala.js 编译目标
这似乎太复杂了。我只有一个项目,不是两三个,没有播放框架,只是简单的文件到文件夹复制。
更新:
我的设置project/BuildProject.scala:
lazy val chromePluginProject = Project(id = "chromePlugin", base = file(".")).enablePlugins(ScalaJSPlugin).
settings(
version := "0.1",
scalaVersion := Versions.scala,
artifactPath in(Compile, fastOptJS) := baseDirectory.value / "plugin" / "src" / "content" / "fastOpt.js",
ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) }, // TODO:
//mainClass := Some("branch.ScalaJsSample"),
libraryDependencies ++= scalaJsDependencies,
libraryDependencies += "be.doeraene" %%% "scalajs-jquery" % "0.9.0",
libraryDependencies += "com.lihaoyi" …Run Code Online (Sandbox Code Playgroud) 与 Anorm 2.5.2
SQL(s"insert into user (name, registered_date) values ({name},{registered_date})").on(
'name -> user.name,
'registered_date -> user.registeredDate
).executeInsert()
Run Code Online (Sandbox Code Playgroud)
编译错误:
错误:(72, 24) 类型不匹配;找到:(符号,org.joda.time.LocalDateTime)必需:anorm.NamedParameter 'registered_date -> user.registeredDate
我应该包含一些隐式的时间->行转换还是应该用异常来开箱即用?
其中用户:
case class User(id: Option[Long] = None,
name: String,
registeredDate: LocalDateTime // joda-time'
)
Run Code Online (Sandbox Code Playgroud) 当我启动我的最小play2应用程序时,我可以在js控制台中看到异常,如:
GET http://localhost:9000/assets/javascripts/jquery.min.map 404 (Not Found)
Run Code Online (Sandbox Code Playgroud)
为什么会这样?它是否已知问题.我在github上看过一些有这个文件的play-tool-projects.默认情况下,我的"javascripts"文件夹中没有此文件.我是不是该?
读到这个,我仍然对unapply()这个回报有疑问Boolean.
如果看一下Scala编程手册(第2版),第602页.有一个例子:
case Email(Twice(x @ UpperCase()), domain) => ...
Run Code Online (Sandbox Code Playgroud)
其中UpperCase定义为unapply()返回Boolean但没有的对象apply()
object UpperCase {
def unapply(s:String): Boolean = s.toUpperCase == s
}
Run Code Online (Sandbox Code Playgroud)
哪里Twice是这样的:
object Twice {
def apply(s:String): String = s + s
...
Run Code Online (Sandbox Code Playgroud)
问题是(必须太多,对不起):
UpperCase().unapply(..)如何在这里工作?
如果我通过:DIDI@hotmail.com,那么x在第一个代码片段='DI'..然后我们使用'@'..来绑定'x'将它传递UpperCase.unapply给调用unapply(x)ie unapply('DIDI')(?)然后它返回True.
但为什么不Option呢?我倾向于认为unapply返回Option......它是如何运作的一种方式.这可能是因为通常Option包装一些数据,但对于简单的情况,我们不应该包装布尔值?因为我们没有申请()?
有什么区别,何时使用Boolean/ Option?基于这个例子.
这个语法:x @ …
从FP课程:
type Set = Int => Boolean // Predicate
/**
* Indicates whether a set contains a given element.
*/
def contains(s: Set, elem: Int): Boolean = s(elem)
Run Code Online (Sandbox Code Playgroud)
为什么这才有意义?
assert(contains(x => true, 100))
Run Code Online (Sandbox Code Playgroud)
基本上它所做的是为100函数提供值x => true.即,我们提供100,它返回true.
但这与集合有何关系?
无论我们放什么,它都会回归true.感觉在哪里?
据我所知,我们可以提供我们自己的一套执行/功能,因为这将代表提供的值是一组内部(或没有)的事实一个参数-那么(只)本实施使得contains由某种意义上/意/逻辑来填充函数/功能.
但到目前为止,它看起来像一个无意义的功能.它被命名,contains但名称不代表逻辑.我们可以调用它,apply()因为它的作用是将一个函数(第一个参数)应用于一个值(第二个参数).只有名称contains可以告诉读者作者可能想说什么.可能不是太抽象吗?
abstraction functional-programming scala higher-order-functions
如果在生产中、origin/master 分支上发生错误,推荐的工作流程是什么。假设开发人员在 origin/dev 分支上工作并且它已经领先于 master?
我有一些想法。很高兴获得建议和最佳实践。喜欢使用“标签”..
假设这一切都发生在企业环境中。曾经使用中央回购的公司。
我有一个bash.sh脚本:
#!/usr/bin/env bash
val=$(cat ../my-microservice/conf/config.json)
echo "set my-microservice-config ${val}" | redis-cli
Run Code Online (Sandbox Code Playgroud)
config.json在哪里:
{
"key" : "value"
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到了:
ERR未知命令'}'
如何从json文件中正确设置json值?