小编Rob*_*son的帖子

循环中的异步性

我正在使用jQuery的$.getJSON()API从给定的URL中检索一组实用程序的数据.我真的想找到一种方法来重用每个实用程序的代码(它们都完全相同).由于循环正在执行而不考虑ajax调用,因此我无法找到保留循环值的方法.

我知道,那个描述很糟糕,所以这里是一个代码片段,它将它定义得更好一些:

var utility_types = [ 'Electricity', 'Gas', 'Water' ];

/** Retrieve known utility providers for the given zip code */
for( var i = 0; i < utility_types.length; i++ ) {
  var type = utility_types[i];

  $.getJSON( '/addresses/utilities/' + zip + '/' + type + '.json', null, function( data, status ) {
    alert( 'Processing ' + type );
  });
}
Run Code Online (Sandbox Code Playgroud)

我需要找到一种方法将类型值传递给回调,以便我可以应用正确的语法.没有它,所有3个循环都在针对"Water"实用程序执行.我知道为什么它工作,我只是想知道是否有一个合理的解决办法.

谢谢.

ajax jquery

5
推荐指数
1
解决办法
176
查看次数

IE7上的jQuery#id.classname选择器

所以诚实的事实是,我甚至不知道我会搜索哪些术语来获得一个合理针对性的搜索结果,所以我想我希望在这里做出快速回应.我尝试过的搜索(包括SO的相关问题)没有提到这个特殊问题.

我的武器库中的每个浏览器都了解以下jQuery选择器并提醒正确的长度(2):

alert( jQuery('#course-contents.course-sidebar .folder').length );
Run Code Online (Sandbox Code Playgroud)

但不是IE7.它告诉我有零.另一方面,这个:

alert( jQuery('.course-sidebar .folder').length );
Run Code Online (Sandbox Code Playgroud)

两个地方给我两个结果.什么是IE7适合的组合?这两个组件在某些地方是必需的,所以我不想只是改变它.如果我的语法不稳定,我想知道为什么.

谢谢.

jquery jquery-selectors internet-explorer-7

5
推荐指数
2
解决办法
926
查看次数

如何不要求所需的输入

我有一个Building与a相关联User.一个User也可以注册,登录,等我有我的验证设置,以便关键User领域(如email,name等)是必需的.

当我创建一个建筑时,我也提供了在现场关联用户的能力.我的构建表单包含该关键用户信息的输入:

<?php echo $this->Form->input( 'User.first_name' ) ?>
<?php echo $this->Form->input( 'User.last_name' ) ?>
<?php echo $this->Form->input( 'User.email' ) ?>
Run Code Online (Sandbox Code Playgroud)

但是,我不希望这些输入被指示为b/c我希望用户能够创建Building without necessarily creating aUser`记录.我无法找到的方法是从验证规则放在那里的div中删除所需的类.

我已经尝试了各种组合'required' => false和设置class值,但到目前为止还没有任何工作.有没有一种不需要表单输入的好方法?

谢谢.

cakephp-1.3

5
推荐指数
2
解决办法
6762
查看次数

CakePHP,扩展和布局

我有一个控制器方法,长期以来一直通过解析该扩展来处理JSON请求,但现在我需要打开它来跨域ajax,所以我想通过解析该扩展来提供JSONP变体.我已经更新了我的routes.php文件:

Router::parseExtensions( 'json', 'jsonp' );
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都很好,但结果呈现时幸福就结束了.当.json扩展程序自动选择json/default.ctp布局时,.jsonp内容将继续采用非特定的默认布局(以及所有不必要的HTML内容).我已经尝试使用RequestHandler::setContent()设置响应内容类型两jsonjs,但似乎并没有被什么触发调用一个给定的布局目录.

有谁知道什么决定了哪个特定于内容的布局目录被调用?我尝试创建jsonp/default.ctp,我尝试js/default.ctp使用我的JSONP结果创建一个布局,但似乎没有任何参与.我只是得到了正常的默认值.

任何有关扩展/内容类型如何映射到这些布局目录的见解都将非常感激.

cakephp cakephp-1.3

5
推荐指数
1
解决办法
671
查看次数

禁用CakePHP DebugKit

我最近为我的CakePHP项目安装了非常有用的DebugKit插件,我刚刚意识到某些东西没有像我预期的那样工作.我假设当我将代码推送到生产时,DebugKit不会显示,因为我的调试值是0.

虽然我还没有进入生产阶段,但我确实需要在我的开发环境中禁用插件,似乎只是将调试值设置为仅仅0是不够的.我实际上不得不从我的插件中删除AppController它以使其停止...调试.

这是预期的吗?没有关于禁用的具体说明,但我做了其中一个假设,即设置Configure::write( 'debug', 0 )就足够了.这是一个错误还是我的期望错了?

谢谢.

cakephp cakephp-1.3

5
推荐指数
1
解决办法
9570
查看次数

如何避免回调"瀑布"?

我倾向于害怕为除了相对微不足道的功能之外的任何东西编写Javascript的原因之一就是我从来没有找到一个合适的方法来避免回调瀑布,当一件事真的依赖于另一件事.有没有这样的方法?

我正在开发一款Titanium应用程序,并进入这个现实世界的场景:

我有一套设施,我需要计算距离用户当前位置的距离.这需要获取用户的当前位置(仅需要发生一次),并且在环绕设施位置时,获取每个位置并计算距离.检索位置(长/纬)的API是异步的,因此"简单"方法看起来像这样(伪代码如下):

foreach facility {
  API.getCurrentLocation( function( location ) { // async, takes a callback fxn arg
    var here = location.coordinates;

    API.getFacilityLocation( function( e ) { // async, takes a callback fxn arg
      var there    = e. coordinates;
      var distance = API.calculateFrom( here, there );
    });
  });
}
Run Code Online (Sandbox Code Playgroud)

因为这一切都在一个循环中,我每次都在计算我当前的位置 - 比我真正需要做的更多的工作.我还没有设法以这样的方式重构这个:我只获得当前位置一次,并且仍然可以将该位置用于距离计算.

鉴于支持lambdas和闭包的语言爆炸式增长,我一直认为有人必须找到一种方法来保持这些瀑布的可管理性,但我还没有找到如何组织这种解决方案的良好解释.

有什么建议或提示吗?

任何见解都会受到极大的赞赏.

javascript closures titanium-mobile

5
推荐指数
1
解决办法
1259
查看次数

使用AuthLogic保护内容

我知道这听起来像一个非常,非常简单的例子,我希望它是,但我发誓我看了所有的地方,并没有发现任何方式任何提及 - 的 - 甚至不是最好的办法这样做.

我是Ruby,Rails以及周围所有东西的新品牌(可能解释很多).我正在使用的虚拟应用程序作为我的学习工具需要进行身份验证才能完成几乎任何有意义的事情,因此我选择从解决该问题开始.我已经安装了AuthLogic创业板有它很好地工作,这是由介绍文档和Railscast覆盖的范围内,但现在,我可以注册,登录和退出...我需要用它做什么.

例如,我需要创建一个用户可以上传图像的页面.我打算ImagesController使用一个upload动作方法,但我希望只有登录用户才能访问.我想在每个限制动作中我都可以添加代码来重定向,如果没有current_user,但这看起来真的很冗长.

有没有更好的方法可以让我定义或识别受限区域并在一个地方处理身份验证检查?

ruby-on-rails authlogic

4
推荐指数
1
解决办法
3890
查看次数

Git树的补救课

我已经阅读,搜索和阅读,冲洗,重复,但Git中对树的基本理解仍然无法避免(除了它们与文件系统目录非常类似).他们似乎有着内在联系的指标,但我就是不能得到如何通过我的厚头骨.

当然,Blob很容易,因为它们很简单.树木,至少在概念上,对我来说更加模糊.是否有某种解释方式 - 以接​​近补救方式的方式:

  1. Git如何检测到需要创建树?
  2. 什么在任何给定的时刻存储在树下?
  3. 是否在修改了该树下的blob时创建了一个新的树"修订版"?

可能还有其他一些我甚至不知道要问的问题,因此请以任何必要的方式详细说明,以促进对对象类型及其上下文的一致理解.

非常感激.

git

4
推荐指数
1
解决办法
458
查看次数

删除我不应该提交给Git的文件

所以我做了一件坏事.

在进行一系列更改的过程中的某个地方,我意识到一个非预期的文件已经陷入了一两次提交.因为直到后来才意识到这一点,包含该文件的提交现在已被推送到远程.我想要并且需要提交,我只是想从它们中删除这个特定的文件.

当然,我需要做的是进入我树的每个角落(本地和远程)并删除该文件.我已经尝试使用了一些东西filter-branchfilter-tree,但是当我试图推动修改遭到拒绝.

我有什么选择?我究竟做错了什么?

谢谢.

UPDATE

在max的要求下,这是我尝试推送时得到的消息:

$ git push origin develop
To git@codaset.com:robwilkerson/cakephp-polyclip-plugin.git
! [rejected]        develop -> develop (non-fast-forward)
error: failed to push some refs to 'git@codaset.com:robwilkerson/cakephp-polyclip-plugin.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about fast-forwards' section of 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)

git

4
推荐指数
1
解决办法
2148
查看次数

jQueryUI对话框的位置和大小

我正在尝试使用jQueryUI创建一个对话框,我遇到了两个我没想到的问题,并且找不到似乎对我有用的解决方案.使用此代码:

$( '<div/>' ).load( $this.attr( 'href' ) ).dialog({
  height: 'auto',
  maxWidth: 600,
  position: 'center',
  resizable: false,
  title: $this.attr( 'title' ).length > 0 ? $this.attr( 'title' ) : false,
  width: 'auto',
  resize: function( e, ui ) {
    $(this).dialog( 'option', 'position', 'center' );
  }
});
Run Code Online (Sandbox Code Playgroud)

我最终得到一个对话框,其位置使得左上角位于屏幕的中心(或左侧),其宽度似乎完全取决于它包含的文本.有什么明显的东西让我失踪吗?我非常希望整个对话框在两个轴上对齐,宽度不超过600px.

谢谢.

jquery-ui jquery-ui-dialog

4
推荐指数
1
解决办法
3475
查看次数