我的目标是编写具有路由支持的SAPUI5 Fiori应用程序.一个邮件目标是拥有可通过的URL.例如,在"请批准此链接 " 的电子邮件中.该链接是我的rounting配置匹配的URL,例如index.html#/applicants/8.
我使用了一种典型的sap.m.SplitApp类应用程序.单击masterview中的列表项会将URL更改为index.html#/applicants/[id of entry in JSON].我可以点击列表,我定义的路线匹配,应用程序按预期加载(申请人)数据.
然而,这就是我的问题,这个doeas在直接使用URL时会起作用,比如粘贴[my url]/index.html#/applicants/8到我的浏览器中.该应用程序已启动,但未加载任何详细数据.我必须再次点击另一个列表项来获取数据.
实际上,在传递URL时调用控制器,但似乎模型未启动且未定义.我的JSON模型绑定在createContent我的函数中Component.js
//更新2015-05-14问题似乎与getData()功能有关.我有模型,它有条目,但getData()第一次加载我的应用程序时返回undefined.我最近阅读的getData()内容已被弃用.我应该如何改进下面的编码?
// Component.js
ui5testing.Component.prototype.createContent = function(){
// create root view
var oView = sap.ui.view({
id : "app",
viewName : "ui5testing.view.Main",
type : "JS",
viewData : {
component : this
}
var oModel = new sap.ui.model.json.JSONModel("model/mock_applicants.json");
oView.setModel(oModel);
[...]
return oView;
});
// Master controller
handleApplicantSelect : function (evt) {
var oHashChanger …Run Code Online (Sandbox Code Playgroud) 我们对我们的应用程序使用一些自编写的验证.这些不使用已经翻译的一个,如'空'或'无效'.它们通过默认方式"%{attribute}%{message}"格式化
但是,我们的客户要求在"%{attribute} :%{message} . "中格式化它们,只是添加了一些标点符号.
这些是客户i18n中的错误消息:
errors:
models:
foo:
attributes:
bar:
steak_missing: sie haben Ihr Schnitzel vergessen
beer_missing: sie haben Ihr Bier vergessen
Run Code Online (Sandbox Code Playgroud)
导致丑陋:
Bar sie haben Ihr Schnitzel vergessen
Run Code Online (Sandbox Code Playgroud)
由于这些可以链接,我们需要像这样:
Bar: sie haben Ihr Schnitzel vergessen, sie haben Ihr Bier vergessen.
Run Code Online (Sandbox Code Playgroud)
在基础i18n中改变了这个:
errors: &errors
format: ! "%{attribute}: %{message}."
Run Code Online (Sandbox Code Playgroud)
完全没有效果.也没有完全删除或其他任何东西.我们正在使用formtastic及其semantic_errors,它是否为(默认)错误消息提供了自己的i18n?
format validation internationalization formtastic ruby-on-rails-3
我想在sap.m主视图中将像结构这样的文件夹映射到列表控件.
请看看名为Shopping Cart的演示应用程序.您将看到Master-> Master-> Detail导航.从类别到产品到(产品)详细信息.
我已经研究过源代码了.上面的导航是使用路由实现的.
对于我的项目,我想有类似的东西.然而,它不是简单的M-> M-> D结构.我的数据将从SAP Enterprise Portal文件夹结构以JSON格式接收.每个文件夹可以包含其他文件夹或文件.数据结构可能是这样的,但可能有n级文件夹:
{ "root": [
{ "name" : "Folder A",
"isCollection": true,
"content" : [
{ "name" : "Sub Folder A",
"isCollection": true,
"content" : [
{"filename":"IpsumPrimisIn.xls","datatype":"application/vnd.ms-excel"},{"filename":"IdOrnare.mp3","datatype":"audio/x-mpeg-3"}
]
}
]
},
{ "name" : "Folder B",
"isCollection": true,
"content" : [
{ "name" : "Sub Folder B",
"isCollection": true,
"content" : [
{"filename":"IpsumPrimisIn.xls","datatype":"application/vnd.ms-excel"}{"filename":"Non.mov","datatype":"video/quicktime"}
]
}
]
}
] }
Run Code Online (Sandbox Code Playgroud)
请注意,文件夹结构将会发生变化,并且随着时间的推移可能会变得更加多样化和更加深入.
理想的解决方案是动态地读取,调整JSON结构并将其映射到某种SAPUI5路由逻辑.这可能吗?有一个路由器实例,循环我的JSON结构,在其上调用addRoute()并动态添加文件夹作为路由...
注意:我已经知道如何基于SAP EP文件夹创建JSON结构.
我需要知道所包含的ruby模块是否可以访问类变量。可以说:
require 'bar'
class Foo
@i_am_important
Bar.do_stuff
end
Module Bar
def Bar.do_stuff
@i_am_important.stuff...
end
end
Run Code Online (Sandbox Code Playgroud)
有没有办法使上述工作?
编辑:改进示例,edit2:解决问题
我只是改变了方法:Bar变成了自己的一个类,并且在初始化时获得了“ i_am_important”的传递。可能不是最好的解决方案,但最终会奏效。感谢您的帮助。
我想在ABAP中编写和使用本地异常类。保持简单有助于我理解,所以我简化了我的情况:
假设我有一个带有“withdraw”方法的帐户类。如果我提款超过当前余额允许的金额,则应引发“account_overdrawn”异常类别。
我的软件公司之前从未做过BDD甚至是TDD.之前的测试意味着在部署前几天简单地试用新软件.
我们最近的项目大约完成了70%.我们还将其用作新技术,工具和开发方式的游乐场.我的老板希望我切换到"测试测试".
我尝试了Selenium 2和RSpec.两者都很有希望,但如何赶上数月的发展?进一步的问题是:
我能做的就是用Selenium来完成整个过程.这看起来非常痛苦(但仍然可能),因为软件似乎从未意味着以这种方式进行测试.我们有很多动态生成的id,花哨的jQuery等等.甚至不知道如何开始使用RSpec.
那么,是否仍然可以将BDD应用于此项目?或者我应该跑得很远而且永远不会回来?