小编Gra*_*Roy的帖子

逃避" 在Rails和Javascript中

我有一系列哈希,包含@product_records中的产品数据.我可以使用map函数提取产品的名称,如下所示:

<%= @product_records.map{|x|x["Name"]} %>
Run Code Online (Sandbox Code Playgroud)

这就像这样呈现我想要的页面:

["Product1","Product2",...,"Productn"]
Run Code Online (Sandbox Code Playgroud)

我想尝试将其传递给javascript变量,以便我可以将其与JQuery自动完成一起使用.

var data = <%= @product_records.map{|x|x["Name"]} %>
Run Code Online (Sandbox Code Playgroud)

当我尝试设置它虽然双引号是这样逃避:

[&quot;Product1&quot;, &quot;Product2&quot;,...,&quot;Productn&quot;]
Run Code Online (Sandbox Code Playgroud)

我尝试了各种各样的事情来获取报价(.to_json等),但似乎没有任何效果.可能有一个非常简单的答案,但我找不到它是什么.

欢呼任何帮助.

javascript jquery-ui ruby-on-rails-3

23
推荐指数
2
解决办法
1万
查看次数

使用HTTParty将Content-Type更改为JSON

我正在尝试使用Ruby on Rails与Salesforce API进行通信.我可以轻松地获取数据,但我在向服务器发布数据时遇到问题.我按照Quinton Wall的帖子使用HTTParty:

https://github.com/quintonwall/omniauth-rails3-forcedotcom/wiki/Build-Mobile-Apps-in-the-Cloud-with-Omniauth,-Httparty-and-Force.com

但我似乎能够从salesforce服务器获得的是我以html身份提交正文的错误

{"message"=>"此资源不支持'application/x-www-form-urlencoded'的MediaType","errorCode"=>"UNSUPPORTED_MEDIA_TYPE"}

负责的代码如下:

require 'rubygems'
require 'httparty'

class Accounts
  include HTTParty
  format :json

  ...[set headers and root_url etc]

  def self.save
    Accounts.set_headers
    response = (post(Accounts.root_url+"/sobjects/Account/", :body => {:name => "graham"}.to_json))
  end
end
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么身体应该被发布为html以及如何改变这一点,以便它肯定像json一样,以便salesforce不拒绝它?

任何帮助,将不胜感激.干杯

ruby-on-rails salesforce httparty

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

Angular 子组件破坏表格

我有一个角度组件,我想在带有 ngFor 的表格中使用它,但它破坏了表格布局。我的桌子看起来像:

<table class="table table-stripped">
  <thead>
    <th style="width: 30%;">Network</th>
    <th style="width: 10%;">Quantity</th>
    <th style="width: 30%;">Supplier</th>
    <th style="width: 30%;">Conn Type</th>
    <th></th>
  </thead>
  <tbody>
    <tr *ngFor="let prod of opportunity.products; let i = index;">
      <app-product-row [product]="prod"></app-product-row>
    </tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

子组件如下所示:

<td style="width: 30%;">
...
</td>
<td  style="width: 10%;">
...
</td>
<td style="width: 30%;">
...
</td>
<td style="width: 30%;">
...
</td>
<td>
...
</td>
Run Code Online (Sandbox Code Playgroud)

但所有子组件都放置在第一个 td 元素中,因为 Angular 放入 <app-product-row ...> 标记,这意味着这些组件无法正确渲染。我尝试将 app-product-row 放在 tr 本身中,但这也不起作用。

我怎样才能让它正确渲染表格?

html-table ngfor angular

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

使用LINQ从数组查询Int ID

我有一个ID数组,我想通过Linq查询传递给实体框架以返回任何匹配

我编写了Linq查询,可以将Ids转换为字符串并使用'Contains'运算符,例如:

模型

public class Order {
  public long OrderId { get; set; }
  public string Name { get; set; } ...}

Order[] orders = { new Order { OrderId = 123, Name = "Order1" }, new Order {...},...};
Run Code Online (Sandbox Code Playgroud)

我可以使用类似的东西:

long[] testArray = {123, 456};
Run Code Online (Sandbox Code Playgroud)

然后

var result = orders.Where(i => testArray.ToString().Contains(i.OrderId.ToString()));
Run Code Online (Sandbox Code Playgroud)

但我真的需要继续将Ids投射到弦上吗?如果我将它们保持为整数,我看起来好像无法访问'Contains'.

最终,我希望能够将此作为访问实体框架的查询的一部分,因此将查询作为IQueryable <>的一部分传递,以确保当我只需要一个handfull时,我不会返回大量的数据,例如如:

var orders = _repo.Orders().Where(i => orderArray.Contains(i.OrderId));
Run Code Online (Sandbox Code Playgroud)

所以任何解决方案如果通过EF查询params(int数组)而不是获取所有数据然后在内存中检查它将是有用的.

干杯!

c# linq

7
推荐指数
1
解决办法
2万
查看次数

在实体框架中映射连接表

我正在尝试将asp.net成员资格表连接到asp.mvc 3网站.我一直在关注运动商店的Steve Sanderson的书"Pro ASP.NET MVC 3 Framework"中的教程,并将其应用于从成员资格exe生成的表格.

所以我有一个用户类,如下所示:

namespace Domain.Entities
{
    public class User
    {
        public Guid UserId { get; set; }
        public string UserName { get; set; }
        public DateTime LastActivityDate;
        public virtual ICollection<Role> Roles { get; set; }
    }

    public class Role
    {
        public Guid RoleId { get; set; }
        public string RoleName { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

和一个看起来像这样的上下文类:

public class EFDbContext : DbContext
{
    public DbSet<User> Users { get; set; }
    public DbSet<Role> Roles { get; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-membership entity-framework-4

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

使用实体框架提高效率

我一直在使用POCO First方法实体框架.我几乎遵循Steve Sanderson在他的书"Pro ASP.NET MVC 3 Framework"中描述的模式,使用DI容器和DbContext类连接到SQL Server.

SQL Server中的基础表包含不同应用程序使用的非常大的数据集.因此,我必须在我的应用程序中为我需要的实体创建视图:

class RemoteServerContext : DbContext
{
    public DbSet<Customer> Customers { get; set; }
    public DbSet<Order> Orders { get; set; }
    public DbSet<Contact> Contacts { get; set; }
    ...

    protected override void  OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Customer>().ToTable("vw_Customers");
        modelBuilder.Entity<Order>().ToTable("vw_Orders");
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这对我的大部分需求似乎都很好.

我遇到的问题是,其中一些视图中包含大量数据,因此当我调用类似的内容时:

var customers = _repository.Customers().Where(c => c.Location == location).Where(...);
Run Code Online (Sandbox Code Playgroud)

它似乎带回了整个数据集,在LINQ查询将集合减少到我需要的集合之前可能需要一些时间.当条件仅适用于少数记录并且我从SQL服务器获取整个数据集时,这似乎非常低效.

我试图通过使用存储过程来解决这个问题,例如

public IEnumerable<Customer> CustomersThatMatchACriteria(string criteria1, string criteria2, ...) //or an object passed in!
{
    return Database.SqlQuery<Customer>("Exec pp_GetCustomersForCriteria @crit1 = {0}, @crit2 …
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework

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

Twitter Bootstrap PopOver仅适用于第一个触发器

我一直在使用Twitter Bootstrap来构建站点的基本布局.我需要显示一个数据表,其中每个订单项都有一个我想要显示为弹出窗口的数据属性

如:

<tr>
  <td><a href="#" class="popover-test" id ="test" rel="popover" 
            data-content="Content 1: this shows fine!" data-original-title="Title 1">Hover for popover</a>
  </td>
  <td>two</td>
  <td>three</td>
</tr>
<tr>
  <td><a href="#" class="popover-test" id ="test" rel="popover" 
            data-content="Doesn't show :(" data-original-title="Title 2">Hover for popover</a>
  </td>
  <td>two</td>
  <td>three</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

虽然弹出窗口只能与列表中的第一个元素一起使用.看到这个jsfiddle:http://jsfiddle.net/stycu/

有谁知道这是设计还是这是一个错误?我已经检查了github上的问题,但看不到任何引用它的东西.

提前致谢

twitter-bootstrap

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

将Linq Group按结果映射到对象

我有一个作为摘要的类,它将作为IEnumerable传递给MVC视图.该课程如下:

public class FixedLineSummary
{
    public long? CustomerId { get; set; }
    public string CustomerName { get; set; }
    public int? NumberOfLines { get; set; }
    public string SiteName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

从db返回的结果包含所有单个条目,因此我使用linq来总结这些:

var summary = (from r in result 
              let k = new {r.CustomerId, CustomerName = r.CompanyName, r.SiteName}
              group r by k into t
              select new 
              {
                  t.Key.CustomerId,
                  t.Key.CustomerName,
                  t.Key.SiteName,
                  Lines = t.Sum(r => r.lines)
              });
Run Code Online (Sandbox Code Playgroud)

当我尝试将结果转换为我的对象时,我只是不断收到错误:

Instance argument: cannot convert from 'System.Linq.IQueryable<AnonymousType#1>' to 'System.Collections.Generic.IEnumerable<Domain.Entities.FixedLineSummary>'
Run Code Online (Sandbox Code Playgroud)

有没有办法将linq查询的结果转换为我的类的可枚举?

c# linq ienumerable

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

将构造函数参数添加到 Ninject 绑定

我有一个 ASP.MVC 项目,其中使用 ninject 作为 IOC 容器。我已将绑定添加为基础结构文件夹中的单独类,如下所示:

public class NinjectControllerFactory : DefaultControllerFactory{

  private readonly IKernel _ninjectKernal;

  public NinjectControllerFactory()
  {
    _ninjectKernal = new StandardKernel();

    PSCCheckContext m = _ninjectKernal.Get<PSCCheckContext>(new IParameter[] 
        { new ConstructorArgument("appNamekey", "Name of Staff Application"), 
            new ConstructorArgument("serverLocationNameKey", "Location of Application Server") });

    AddBindings();
  }
Run Code Online (Sandbox Code Playgroud)

所以您可以看到我正在尝试在 PSCCheckContext 的构造函数中设置 web.config 中的两个参数。这是另一个处理数据库访问的 C# 应用程序。AddBindings() 类只是将接口类映射到您所期望的具体实现:

private void AddBindings()
{
  ...
  _ninjectKernal.Bind<IPSCCheckContext>().To<PSCCheckContext>();
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是 PSCCheckContext 类中有 2 个构造函数,其中第二个构造函数采用不同的参数:

public class PSCCheckContext : IPSCCheckContext
{
  public PSCCheckContext(string appNamekey, string serverLocationNameKey);
  public PSCCheckContext(string imgNamekey, string imgFlagKey, …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection ninject ioc-container

2
推荐指数
1
解决办法
9810
查看次数

使用 excel vlookups 进行精确大小写匹配

我有一个包含“唯一”ID 的电子表格。问题是它们只区分大小写,这意味着我有:a06D000000QO5uW & a06D000000QO5uw。

我想对这些 ID 执行 vlookup 并拉回相关值。可以使用我发现的这篇文章进行区分大小写的匹配:

http://support.microsoft.com/kb/214264

我发现的问题是,因为 vlookup 嵌套在 Exact 函数中,它返回它找到的第一个匹配项,这可能不是我所追求的。如果我使用文章中的数据样本,它看起来像:

Name    Age     Joe
Mary    32  
joe     48  
Bob     53  
Sue     27  
Joe     30  
Run Code Online (Sandbox Code Playgroud)

并且查找看起来像:

=IF(EXACT(C1,VLOOKUP(C1,A1:B6,1,FALSE))=TRUE,VLOOKUP(C1,A1:B6,2,FALSE),"No exact match")
Run Code Online (Sandbox Code Playgroud)

问题似乎是测试“Joe”的 vlookup 首先遇到“joe”,因为它不区分大小写,将其作为匹配项返回 - 这意味着它永远不会到达“Joe”。确切的函​​数随后失败,因为它试图针对“joe”测试“Joe”。

有没有办法解决?我真的很想避免走 VBA 路线,因为我们混合了 Mac 和 Window 用户,所以我想将其保留为公式。

excel excel-formula

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

JSON解析银行假日日历

我有一个ASP MVC项目正在访问API以获取银行假日日期:https://www.gov.uk/bank-holidays.json

当我解析JSON时,当我试图达到"事件"的水平时,我遇到了问题.目前我有:

var json = new WebClient().DownloadString("https://www.gov.uk/bank-holidays.json");
JavaScriptSerializer serializer = new JavaScriptSerializer();
var test = serializer.Deserialize<Dictionary<string, Dictionary<string, object>>>(json);
Run Code Online (Sandbox Code Playgroud)

我似乎无法将这个反序列化器中的最终对象转换为任何有意义的东西.我尝试了各种对象,列表,数组等,但似乎没有任何工作.我似乎只能把它投射到物体上.

理想情况下,我希望将JSON解析为有意义的对象,例如:

public class BankHoliday
{
  public DateTime Date { get; set; }
  public string Title { get; set; }
  public Country CountryCode { get; set; }
  public string Notes { get; set; }
  public bool Bunting { get; set; }
}

public enum Country
{
  EnglandWales,
  Scotland,
  NorthernIreland
}
Run Code Online (Sandbox Code Playgroud)

我觉得这很简单,但我已经尝试了一切.我确信这是我想念的简单事.

谢谢

c# json

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

在 TF 工作区上切换用户

我正在一台已成功建立与 tfs 的连接的计算机上工作。我昨天在 Visual Studio 命令提示符中运行了一个命令,该命令切换了计算机认为我是的用户。如果我运行 tf 工作区,我会得到:

=================================================== ===========

工作空间:HSS12093 所有者:Graham 计算机:HSS12093 评论:集合:integrationtest\HSSSoftware 权限:私有位置:本地文件时间:当前

工作文件夹: $/HSSWebSolutions: D:\HSSWebSolutions $/HSSWebSolutions/HSSReportingPortal: D:\HSSWebSolutions\HSSSolutions\Projects\ HSSReportingPortal

=================================================== ===========

工作空间:HSS12093 所有者:Integrationtest 开发访问帐户计算机:HSS12093 评论:集合:integrationtest\HSSSoftware 权限:私有位置:本地文件时间:当前

工作文件夹:

这一直运行良好,因为自设置以来我一直以 Graham 身份登录。当我昨天从命令提示符运行 tf 命令时,尽管它要求提供管理员用户的凭据,但我输入了管理员帐户用户名和密码(用于 Integrationtest 开发访问帐户)。

我的机器现在认为我已以此帐户登录,并且我无法再映射到代码文件的本地驱动器版本。

我已尝试删除开发帐户的工作区,但这不起作用。我需要一些方法来切换回原来的帐户。如果我尝试映射到文件夹,则会收到错误消息,表明这些文件夹已映射到 Graham。如果我尝试在 Visual Studio 中更改所有者,则会收到一条错误消息“工作区 HSS12093:Graham 已存在于计算机 HSS12093 上”。

有什么办法可以切换我登录的帐户吗?我尝试过使用:

tf workspaces HSS12093;graham /login:graham;<password>
Run Code Online (Sandbox Code Playgroud)

tfs visual-studio

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