小编Sam*_*amo的帖子

Url编码引号和空格

我有一些使用JavaScript编码的查询文本,但我遇到了一个用例,我可能需要在服务器端编码相同的文本,并且发生的编码不一样.我需要它是一样的.这是一个例子.

我进入"I like food"搜索框并按下search按钮.JavaScript将其编码为%22I%20like%20food%22

假设我在服务器端的请求对象上获得与字符串相同的值.它看起来像这样:"\"I like food\""

当我使用时HttpUtility.UrlEncode(value),结果是"%22I+like+food%22".如果我使用HttpUtility.UrlPathEncode(value),结果是"\"I%20like%20food\""

所以UrlEncode编码我的引号,但使用+空格字符.UrlPathEncode正在编码我的空格但不编码我的转义引号.

我真的需要它来做两件事,否则搜索代码完全对我不利(我无法控制搜索代码).

提示?

c# asp.net-mvc urlencode

28
推荐指数
2
解决办法
4万
查看次数

将行为附加到流星集合的最佳方法是什么?

在Meteor中,当您从数据库中检索记录时,它只是一条记录.因此,如果我有一个名为的集合Dogs,dog可能有fur: 'brown'或者breath: 'stinky',但它没有bark()方法.

显然,我可以创建一些期望dog作为参数然后对其执行操作的函数dog.我甚至可以将所有这些函数封装到一个构造函数中.我对这种方法并不是很疯狂,但是如果某人有一个干净而明智的方法来做到这一点,我就全都听见了.

另一种认为我是包裹dogBackbone.Model.这可能很有趣,因为fetch并且save可以重新定义为find和/ insertupdate,你也可以在那里定义你的所有行为,但我已经读过这种类型的东西通常是不鼓励的.

有没有正确的方法呢?是否有Meteor.Model正式的作品?其他人如何解决这个问题?

编辑

对于那些在接受答案后一年内提出这个问题的人:在编辑时我使用的是Exygy的minimongoid mrt包,它对haihappen版本有一些改进,这个版本在博客文章中提到的链接被接受的答案.

我目前正在为存储库做贡献,使结果集更像关系.希望其他人可以使用它,并倾向于提供有用的功能.

编辑

另一个答案建议transform在创建集合时使用该属性.虽然我肯定更喜欢我自己并不需要自己构建的东西,但这个功能增加了很多可能性,我希望任何正在研究ORM for Meteor的团队都会利用这个核心优势. .

这是一篇博客文章,解释了如何使用该transform属性.

此外,minimongoid现在可用作Meteor包,我仍在使用它.它支持验证和声明关系.我已经为这个软件包添加了一些功能,所以如果一个电路板有很多部分,board.pieces().create(attributes)将保留一个piece给定的新记录attributes并自动关联board.在我看过的各种解决方案中,这似乎是最全面的.

model behavior backbone.js meteor

22
推荐指数
2
解决办法
5445
查看次数

在Rails引擎规范中使用正确的url_for方法

我在Rails引擎中有一个请求规范.呈现的视图调用路由并传入散列,即projects_path(:scope => "user").像这样的路线最终会调用url_for,但url_for在许多地方定义.在主应用程序(根级别)中运行应用程序或运行请求规范时,调用链最终会在ActionView::RoutingUrlFor#url_for; 但是,当在引擎中运行规范时,调用链最终会在ActionView::Helpers::UrlHelper#url_for.

在Rails 4中,url_for定义的方法UrlHelper不再接受哈希参数,所以我留下了这个错误

 Failure/Error: visit projects_opportunity_intakes_path
 ActionView::Template::Error:
   arguments passed to url_for can't be handled. Please require routes or provide your own implementation
Run Code Online (Sandbox Code Playgroud)

我想弄清楚的是,为什么ActionView::Helpers::UrlHelper当我在我的引擎中运行规范时,它会重新出现,但在任何其他情况下都没有.这非常令人困惑.有一件事让我很突出:当我在视图中放置一个断点并进行评估时self.class,我通常会得到一些继承的东西ActionView::Base,但是当我从我的引擎运行一个规范时,该类不会继承任何东西.我不知道这是否相关,但看起来很可疑.

有人经历过吗?知道解决方法吗?我的模块可能被包含在错误的顺序中吗?spec_helper我是否可以在虚拟应用程序初始化中或内部执行某些操作以确保正在使用正确的模块?

routing rspec ruby-on-rails rails-engines ruby-on-rails-4

16
推荐指数
2
解决办法
7605
查看次数

在Meteor中模板之间共享功能

如果我有两个想要检查相同功能的返回值的车把模板怎么办?有没有正确的方法来做到这一点?显然我可以这样做:

var say_foo = function() {
  alert('foo');
};

Template.foo.say_foo = say_foo;
Template.bar.say_foo = say_foo;
Run Code Online (Sandbox Code Playgroud)

但有没有办法通过Template对象直接执行此操作?由于这是JavaScript,我可以为任何对象的任何属性分配一个函数,但我尝试过:

Template.say_foo = function() { alert('foo'); };
Run Code Online (Sandbox Code Playgroud)

当然模板找不到这个功能.

只是对最佳实践等感到好奇.谢谢!

meteor

15
推荐指数
2
解决办法
6519
查看次数

从服务器获取值

假设我不希望我的客户端访问集合,但我希望我的客户能够询问有关该集合中对象的某些问题.我怎么做到这一点?

例如,假设我想知道当前是否有用户登录.当用户首次登录时,我将该用户的数据库ID设置Session在cookie中.目前,该应用程序说用户登录,如果!Session.equals("user_id", null),这当然是非常不安全因为现在我可以打开萤火虫说Session.set("user_id", "foo"),现在我已登录.

我不希望客户端此时有权访问Users集合.有权访问此集合的唯一客户端代码包含在自动执行功能中以保护它(我不确定这是否是在Meteor中执行安全性的正确方法,因此请随意推荐这些内容.以及).所以相反,我想调用一些服务器端代码并​​将其传递给会话中设置的id,让它告诉我这是否是一个有效的用户.

以下是我希望看到它的设置方式:

// client
function logged_in() {
  return SomeServerMethodThatValidatesUserId(Session.get("user_id"));
}
Run Code Online (Sandbox Code Playgroud)

Meteor.methods似乎不符合要求,因为Meteor.call执行异步回调.pub/sub模型看起来更有前途,但从文档中,我不太清楚它是如何工作的.

它似乎建议我应该this.set从发布处理程序中调用,以便在客户端上设置一些值,但我无法弄清楚这些值可用的位置.

或者也许pub/sub模型也不适合这种情况,还有另一种方法,我错过了.任何建议表示赞赏!

meteor

11
推荐指数
2
解决办法
2619
查看次数

将hashtable.Keys转换为List <int>或其他IEnumerable <int>

我知道,我有其他选择,例如我可以维护一个单独的键列表.请不要提出其他选择.我只是想知道我是否可以解决这个问题.请不要问我我要解决的问题是什么,或类似的问题.这是一个纯粹而简单的CS问题.

我想知道是否有人知道从a获取密钥的方法Hashtable并将它们转换为某种List<int>或其他类型IEnumerable<int>(当然,我的密钥实际上是整数).

鉴于我可以毫无问题地做到这一点:

foreach (int key in hashtable.Keys)
Run Code Online (Sandbox Code Playgroud)

为什么这会给我错误?

(List<int>)hashtable.Keys
Run Code Online (Sandbox Code Playgroud)

c# hashtable key

10
推荐指数
1
解决办法
3万
查看次数

如何在Spring-MVC Eclipse项目中包含jQuery库

美好的一天,

我搜索的范围很广,但我能找到的是有关如何向Eclipse添加各种插件的信息.我不想要一个插件.我想要我的stinkin'jQuery!

我试过的一些事情:

我下载jQuery并将其放在我的WebContent\WEB-INF\js文件夹中.然后在我的WebContent\WEB-INF\jsps\company.jsp文件中,我有一个脚本标记:

<script type="text/javascript" src="../js/jquery-1.4.3.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

但没有骰子.接下来的尝试.

窗口 - >首选项 - > JavaScript - >包含路径 - >用户库 - >新建...

在这里,我添加了我的jQuery库并正确地引用了我的文件.我可以在JavaScript Resources中看到我的jQuery库.看起来就像我期待的那样.但是,我的jQuery脚本还没有包含在我的页面中.

我在这里错过了什么?难道没有人能够正确记录如何做到这一点吗?如果它是如此明智,为什么我不明白?我想我有一个大脑......

eclipse jquery spring-mvc

9
推荐指数
3
解决办法
3万
查看次数

从流星中的配置文件或环境变量中获取值

这对于存储API密钥或其他敏感信息非常有用.根据我的理解,你可以在本地使用配置文件,但它们不能在meteor.com上运行,但我听说有传言说环境变量很快就会被支持,或者已经是最近发布的了,但我不能找到任何例子.

有人可以提供一个如何从环境变量或其他安全位置检索值的示例吗?

environment-variables configuration-files meteor

9
推荐指数
1
解决办法
3213
查看次数

Meteor的测试实践

这不是技术问题; 我看到很多人都在使用看起来很整洁的Mocha,所以我会尝试一下.

我想知道的是人们如何处理测试与Meteor集合相关的模型之类的东西.你会用sinon来模拟数据库记录吗?是否存在require可以使用的框架文件,以便您可以使用Meteor.Collection

编辑

更具体地说,我正在编写一个使用几个Minimongoid模型的应用程序.如果您已经看过其中一个,那么您知道每个模型的@_collection属性都是new Meteor.Collection(...).

拥有模型而不是数据库记录的主要优点之一是您可以将行为附加到它,而这种行为就是我想要测试的行为.

所以,假设你在棋盘上有一个涉及两件的游戏.当玩家点击一块时,我们希望通过突出显示方块来显示棋盘上的所有合法移动.该作品有一种方法,根据作品的移动方式以及是否有其他作品确定给定位置是否构成合法移动; 确定路上是否有碎片可能需要数据库查询:

class Piece extends Minimongoid
  @_collection: new Meteor.Collection('pieces')

  @find: (selector = {}, options = {}) ->
    document = @_collection.findOne(selector, options)
    if document
      model = new @(document)
      _.extend(model, model.attributes)

  @where: (selector = {}, options = {}) ->
    @_collection.find(selector, options).map (record) =>
      model = new @(record)
      _.extend(model, model.attributes)

class Bishop extends Piece
  @code: "bishop"

  isLegalMove: (location) ->
    @isOnMyPath(location) && @noPiecesInMyWay(location) …
Run Code Online (Sandbox Code Playgroud)

testing mocking mocha.js meteor

9
推荐指数
1
解决办法
1037
查看次数

支持Spring-MVC控制器中的多种内容类型

Rails控制器使得支持多种内容类型变得非常容易.

respond_to do |format|
  format.js { render :json => @obj }
  format.xml
  format.html
end
Run Code Online (Sandbox Code Playgroud)

美丽.在一个控制器动作中,我可以轻松地响应多种内容类型,并且具有足够的灵活性,可以呈现我想呈现的内容,无论是模板,对象的序列化形式等.

我可以在Spring-MVC中做类似的事情吗?在Spring中支持多种内容类型的标准是什么?我见过涉及视图解析器的解决方案,但这看起来很难管理,特别是如果我想支持除xhtml和xml之外的JSON.

任何建议都表示赞赏,但更简单,更优雅的解决方案将更受欢迎;)

编辑

如果我断言查看解析器很难管理,请随时纠正我并提供一个示例.最好是可以返回xml,xhtml和JSON的.

java model-view-controller content-type ruby-on-rails spring-mvc

8
推荐指数
1
解决办法
6919
查看次数