我一直在对Symfony 2中的脚手架进行搜索,并继续寻找"发电机"的引用,但到目前为止还没有能够得到脚手架和工作.
通过"scaffolding",我指的是一种将工具指向数据库并让它生成视图/表单以执行CRUD操作的方法.
这对于快速构建原型,和/或为某些数据库表构建粗略的管理工具非常有用.
它还可以为您正在构建的某种形式提供起点.
这在Symfony2中可能吗?
我最近从phpMyAdmin 3升级到4."显示方向"选项已消失.这是查询结果页面上的选项,允许您控制结果集是每行显示一个(水平)还是每列显示一个(垂直).
我看到仍然有一个配置选项来设置"默认显示方向":http: //docs.phpmyadmin.net/en/latest/config.html#cfg_DefaultDisplay
但是,我希望能够在每个查询结果的基础上更改方向,就像我能够在v3中一样.有没有办法重新启用此功能?我搜索了文档但没有找到任何内容.
-Josh
我正在使用Knockout Validation,当我用它来验证单选按钮组时,每个单选按钮旁边都会显示验证错误消息.我希望它只显示在一个位置.据推测,我将不得不"关闭"单选按钮组的验证消息的自动显示,然后在特定位置手动显示验证消息.但是......我还没有找到办法做到这一点.
这是一个演示我正在谈论的内容的小提琴:http: //jsfiddle.net/jbeall/tD4nU/2/
我希望其他输入类型(例如,文本输入)保留自动向右显示消息的行为.
我怎么设置它?
谢谢!
ps对于后代,jsfiddle代码如下:
// HTML
<div>
<div>First name: <input type='text' data-bind='value: firstname'/></div>
<div>Last name: <input type='text' data-bind='value: lastname'/></div>
</div>
<div>
Question Type:
<div>
<label>
<input type='radio' value='sales' name='questionType' data-bind="checked: questionType"/>
Sales
</label>
</div>
<div>
<label>
<input type='radio' value='support' name='questionType' data-bind="checked: questionType"/>
Support
</label>
</div>
<div>
<label>
<input type='radio' value='other' name='questionType' data-bind="checked: questionType"/>
Other
</label>
</div>
</div>
<div>
<input type='button' data-bind='click: triggerGroupValidation' value='Trigger validation via group() function'/>
</div>
<div data-bind='text: ko.toJSON(questionType)'></div>
<div>
Click button …Run Code Online (Sandbox Code Playgroud) 我正在为Chrome扩展程序(以及该扩展程序的打包应用程序变体)创建一个想法,其中一个小而轻量级的SQL数据库(如SQLite)将是理想的.但是,Chrome Apps无法使用Web SQL.
我一直在尝试SQL.js,一个SQLite的JavaScript实现,但似乎我需要在我想保存的任何时候手动将整个数据库写入磁盘.这意味着每次SQL写入(例如,UPDATE,INSERT,DELETE)都需要手动将整个数据库写入磁盘,如果我想将更改保留在当前会话之后.正确?我错过了什么吗?
这是我使用SQL.js(或SQLite的任何其他JavaScript实现)的唯一选择吗?如果数据在数据发生变化时自动写入磁盘会更容易.
如果SQLite实现足够智能,只更新实际更改的数据文件部分,那就更好了.因此,如果你有一个20兆的数据库,并且你做了一个从0到1翻转一点标志的更新,它可能只改变那一位,而不是必须将整个20兆位写入磁盘.
我知道IndexedDB是另一种选择,我正在单独调查它.这个问题是关于我的SQL.js/SQLite选项.我想确定我是否了解SQLite是否以及如何使其工作.
确实有一个特定于Cordova的插件可以提供SQLite支持,但这在Chrome扩展程序和应用程序中不起作用(至少,不能没有自定义).
javascript sql sqlite google-chrome-extension google-chrome-app
我正在开发Durandal SPA,我已经设置了一些视图和视图模型.但是,我认为MVVM架构还涉及"模型"段(Model,View,ViewModel - 对吧?).
但是,Durandal入门页面在"组织"部分下说明了这一点:
如果展开App文件夹,您将找到整个SPA示例的来源.这是您将找到的高级组织:
- 应用
- 迪朗达尔/
- 的ViewModels /
- 意见/
- main.js
缺少此结构是"模型"文件夹.你应该把你的模型放在Durandal应用程序中的哪个位置?
我查看了其他一些示例应用程序,我找不到我所评论的任何示例应用程序的"模型"文件夹(或模型所在的任何位置).
在我看来,"models"文件夹(不存在)是Durandal应用程序的关键部分.但是,它不存在 - 因此,我质疑我对Durandal(和MVVM应用程序)的设计理解.肯定有一些我不理解的东西......有人可以填写Durandal应用程序的预期结构,以及放置模型对象的位置吗?
如果你使用Symfony2的生成器从数据库实体创建CRUD表单,你可能会在"创建新记录"屏幕上出现这样的错误:
StringCastException: A "__toString()" method was not found on the objects of type
"ScrumBoard\ServiceBundle\Entity\Users" passed to the choice field. To read a
custom getter instead, set the option "property" to the desired property path.
Run Code Online (Sandbox Code Playgroud)
如果我正确地读到这个,问题是它需要显示我正在创建的记录的用户下拉列表,但它不知道如何将"用户"实体变成字符串.
在我的Users实体类上定义__toString()方法可以解决问题.但是,我可以从错误消息的文本中看到有一个替代方案:改为读取一个客户获取器,这是通过"[设置]选项"属性"到所需的属性路径"来完成的.
这听起来像某种注释.但在我的搜索中,我无法弄清楚那是什么.因为我想彻底了解Symfony2 - 有人可以帮助我吗?
谢谢!
我有一个Durandal应用程序,在尝试加载视图时会定期超时.这是一个示例超时错误:
Error: Load timeout for modules: text!views/primaryapplicants.html
http://requirejs.org/docs/errors.html#timeout
Run Code Online (Sandbox Code Playgroud)
如果您查找提供的URL,则会显示一些可能的问题:
这些都不是我的问题.这是一个真实的,真正的超时.由于某种原因,它无法加载视图文件.
有一些关于处理错误的RequireJS文档 ......但是在读了很多次之后,我仍然无法弄清楚如何在我的视图模块上捕获加载超时.
理想情况下,我想要做的是a)延长超时或b)给用户一个通知,并允许他们再次尝试加载视图.
现在发生的事情是视图无法加载,用户得不到有错误的反馈 - "请等待,加载"对话框消失,因为AJAX请求已完成,但视图不会更改.
javascript requirejs knockout.js durandal durandal-navigation
Knockout的Observable Arrays使您能够"订阅"数组的更改,就像任何其他可观察的一样."subscribe"回调函数接收一个参数,它是数组的新值.这是一个例子(和小提琴):
var oa = ko.observableArray(['some','initial','data']);
oa.subscribe(function(newValue){
console.log("Array was updated! Now it's:");
console.log(newValue);
// But which item was added?
});
oa.push("more data!");
setTimeout(function(){
oa.remove("some");
},1500);
Run Code Online (Sandbox Code Playgroud)
但是,我想知道哪些元素被添加到observable数组中.有没有办法做到这一点?如果我可以将旧数组与新数组进行比较,那么我可以确定添加或删除了哪些项目.但似乎在调用"subscribe"函数回调时,无法访问"previous"数组值.在那儿?
我正在尝试使用Durandal应用程序设置,我开始时只使用两个视图进行了非常简单的配置.
发生的事情是当我调用router.navigateTo('#/ welcome')或router.navigateTo('#/ primaryapplicants')时,视图不会改变.但是,地址栏中的URL会发生变化,如果我重新加载页面,我会看到我尝试导航到的视图.
我究竟做错了什么?
这是一段视频,展示了我正在经历的行为.我在视频中引用的代码包含在下面.
require.config({
paths: { "text": "durandal/amd/text" }
});
define(function (require) {
var system = require('durandal/system'),
app = require('durandal/app'),
router = require('durandal/plugins/router'),
viewLocator = require('durandal/viewLocator'),
logger = require('services/logger');
system.debug(true);
app.start().then(function () {
// route will use conventions for modules
// assuming viewmodels/views folder structure
router.useConvention();
// When finding a module, replace the viewmodel string
// with view to find it partner view.
// [viewmodel]s/sessions --> [view]s/sessions.html
// Otherwise you can pass paths for …Run Code Online (Sandbox Code Playgroud) 我正试图围绕正确使用jQuery UI的droppable工具.我正在研究一个最终将作为队列运行的列表.这是一个图书俱乐部,顾客可以选择他们想要运送给他们的书籍,以及订购的顺序.它类似于Netflix的原始商业模式(流媒体之前),用户可以在其中设置他们想要感兴趣的DVD队列.
因此,将有两个列表,一个表示用户的队列,另一个表示符合条件的项目.他们可以将符合条件的项目列表中的项目拖动到其队列中.在这种情况下,该项目将保留在"符合条件的项目"列表中,并将克隆添加到其队列中(因为它们可以添加多个相同的项目).
队列应该可以通过拖放重新排序,但我还没有那么远.一步一步来.
在处理"从符合条件的项目列表拖到队列列表"步骤时,我遇到了以下问题:添加到列表中的新项目不是放置目标.看看代码,这是有道理的:
<ul id='list1'>
<li>Some</li>
<li>Thing</li>
</ul>
<ul id='list2'>
<li>Red</li>
<li>Green</li>
<li>Blue</li>
<li>Electric Banana</li>
<li>Flamingo Pink</li>
</ul>
jQuery(document).ready(function($) {
$('#list2 li').draggable( {
cursor: 'move',
helper: 'clone',
});
$('#list1 li').droppable({
drop: function(event, ui){
console.log(event);
console.log(ui);
var dropElement = jQuery.clone(ui.draggable[0]);
// Get rid of the inline styles that jQuery has put on the element.
jQuery(event.target).before(dropElement);
}
});
});
Run Code Online (Sandbox Code Playgroud)
您可以看到droppable侦听器仅用于初始化期间#list1中的项目.所以当你从#list2中拖动它时,它会被添加到列表中,但是没有drop事件的监听器.
我通过向每个添加到列表中的项添加一个drop listener来修复此问题(请参阅小提琴):
jQuery(document).ready(function($) {
$('#list2 li').draggable( {
cursor: 'move',
helper: 'clone',
});
$('#list1 li').droppable({ drop: dropHandler });
function …Run Code Online (Sandbox Code Playgroud) javascript jquery jquery-ui jquery-ui-draggable jquery-ui-droppable
javascript ×5
durandal ×3
knockout.js ×3
php ×2
symfony ×2
arrays ×1
jquery ×1
jquery-ui ×1
mvvm ×1
mysql ×1
phpmyadmin ×1
requirejs ×1
scaffolding ×1
sql ×1
sqlite ×1
url-routing ×1