问题列表 - 第11201页

Ruby on Rails - 如何使用has_many关联呈现为xml模型

我有一个ruby on rails应用程序,它有两个模型--ltests和sub_tests.ltest has_many与sub_tests 有"关联".在ltests的show方法如下.

respond_to do |format|
  format.html # show.html.erb
  format.xml  { render :xml => @ltest }
end
Run Code Online (Sandbox Code Playgroud)

这将呈现ltest对象.但是,属于ltest的sub_tests不会呈现.

我怎样才能做到这一点?

<ltest>
....
   <sub_test>
   ...
   </sub_test>
   <sub_test>
   ...
   </sub_test>
</ltest>
Run Code Online (Sandbox Code Playgroud)

我尝试使用这样的视图渲染它:

但这会生成两个xml文档,而不是嵌入在ltests中的sub_tests文档.

有关如何做到这一点的任何建议?

ruby xml rendering ruby-on-rails

5
推荐指数
3
解决办法
6192
查看次数

在大型c ++代码库中避免空指针异常

我继承了一个大的c ++代码库,我有一个任务,以避免代码库中可能发生的任何空指针异常.是否有可用的静态分析工具,我在想,你已经成功使用了.

你还有什么其他的东西?

c++ null nullpointerexception

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

C#搜索列表

在下面的代码中,我使用了3个foreach语句.我只是想在项目列表与另一项匹配时填充列表,但也必须添加不匹配的列表.所以我想知道是否有更简单的方法来做到以下几点.

        List<T> ds = new List<T>();  //is populated           
        foreach (var b in template.Bs)
        {
            List<BD> tempList = new List<BD>();
            foreach (BD bd in b.BDs)
            {
                Boolean found = false;
                foreach (DV dv in items)
                {
                    if (bd.C == dv.C)
                    {
                        found = true;
                        tempList.Add(new BD ()
                        {
                            //populating
                        });
                    }
                }
                if (!found)
                    tempList.Add(new BD()
                    {
                        //populating
                    });
            }

        }
Run Code Online (Sandbox Code Playgroud)

.net c#

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

Windows下的确定性构建

最终目标是在完全相同的环境中比较从完全相同的源构建的2个二进制文件,并且能够告诉它们确实在功能上是等效的.

一个应用程序就是将QA时间集中在发布之间实际发生变化的事情上,以及一般的变更监控.

MSVC与PE格式串联自然使得这很难做到.

到目前为止,我发现并中和了这些事情:

  • PE时间戳和校验和
  • 数字签名目录条目
  • 调试器部分时间戳
  • PDB签名,年龄和文件路径
  • 资源时间戳
  • VS_VERSION_INFO资源中的所有文件/产品版本
  • 数字签名部分

我解析PE,找到所有这些东西的偏移量和大小,并在比较二进制文件时忽略字节范围.像魅力一样工作(好吧,我运行它的少数测试).我可以说,只要编译器版本和所有源和头都相同,在Win Server 2008上构建的版本1.0.2.0的已签名可执行文件等于版本10.6.6.6的无符号版本,在我的Win XP开发框上构建.这似乎适用于VC 7.1 - 9.0.(适用于发布版本)

有一点需要注意.

两个绝对路径建立 必须是相同的 ,必须具有相同的长度.

cl.exe将相对路径转换为绝对路径,并将它们与编译器标志一起放入对象中,依此类推.这对整个二进制文件具有不成比例的影响.路径中的一个字符更改将导致在此处更改一个字节,并且在整个.text部分上有几次(但是我怀疑链接了很多对象).改变路径的长度会导致明显更多的差异.在obj文件和链接二进制文件中.

感觉像带有编译标志的文件路径被用作某种哈希,这使得它成为链接二进制或甚至影响不相关的编译代码片段的放置顺序.

所以这是三部分的问题(总结为"现在是什么?"):

  • 我是否应该放弃整个项目并回家,因为我想要做的事情违反了物理法则和MS的公司政策?

  • 假设我处理绝对路径问题(在策略级别或通过查找神奇的编译器标志),还有其他我应该注意的事项吗?(之类的东西__TIME__ 意味着改变的代码,所以我不介意那些没有被忽略)

  • 有没有办法强制编译器使用相对路径,或欺骗它认为路径不是它是什么?

最后一个的原因是令人讨厌的Windows文件系统.你永远都不知道什么时候删除几个有价值的源和对象,并且svn元数据会因为流氓文件锁而失败.至少创建新根总是成功,而剩下空间.一次运行多个构建也是一个问题.运行一堆虚拟机虽然是一个解决方案,但却是一个相当繁重的虚拟机.

我想知道是否有办法为进程及其子进程设置虚拟文件系统,以便多个进程树将看到不同的 "C:\ build"目录,仅对它们是私有的,所有这些都是同时...重量级的虚拟化......

更新:我们最近在GitHub上开源了这个工具.请参阅文档中的比较部分.

c++ windows portable-executable visual-c++

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

Rails,searchlogic选择带复选框的类别

我正在使用searchlogic来搜索一些画作.每幅画都属于一个类别.我想要做的是在我的搜索表单中添加多个复选框,以便用户可以标记多个类别.(与or一起使用)这可能与searchlogic一起使用吗?我正在寻找的查询是这样的:

SELECT * FROM paintings WHERE category LIKE "white" OR category LIKE "red"...

f.check_box :category (white)
f.check_box :category (black)
f.check_box :category (red)
f.check_box :category (green)
Run Code Online (Sandbox Code Playgroud)

等等

ruby ruby-on-rails

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

公共字段与自动属性

我们经常被告知我们应该通过为类字段制作getter和setter方法(C#中的属性)来保护封装,而不是将字段暴露给外部世界.

但是很多时候,一个字段只是用来保存一个值,并且不需要任何计算来获取或设置.对于这些,我们都会这样做:

public class Book
{
    private string _title;

    public string Title
    {
          get{ return _title;  }
          set{ _title = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

好吧,我有一个坦白,我不忍心写所有这些(真的,它不必写它,它不得不看它),所以我去流氓和使用公共领域.

然后是C#3.0,我看到他们添加了自动属性:

public class Book
{
    public string Title {get; set;} 
}
Run Code Online (Sandbox Code Playgroud)

这更整洁,我很感激它,但是真的,除了创建一个公共领域之外还有什么不同?

public class Book
{
    public string Title;
}
Run Code Online (Sandbox Code Playgroud)

c# field properties class automatic-properties

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

你怎么打开麦克风?

我将如何打开麦克风并打开某种直播流来收听我在另一个位置的PC上发生的事情?这将是一个婴儿监控项目.

关于我应该这样做的任何想法?我只是在完成代码后才能完成任务.我可以做其余的事.我正在学习德尔福,所以我应该没问题.

我还需要能够停止麦克风.在这个阶段,我不想回话,只是实时收听或尽可能接近.

delphi audio winapi microphone

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

ASP.NET/C#:DropDownList SelectedIndexChanged事件未触发

当我在下拉列表中选择值时,我的selectedindexchanged事件未触发.这些下拉列表在以下代码中动态实现.我尝试更改autopostback和enableviewstate设置无济于事.我正在使用静态面板.有谁看到我怎么能导致selectedindexchanged事件被触发?

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ADONET_namespace;

namespace AddFileToSQL
{
    public partial class DataMatch : _Default
    {
        protected System.Web.UI.WebControls.PlaceHolder phTextBoxes;
        protected System.Web.UI.WebControls.PlaceHolder phDropDownLists;
        protected System.Web.UI.WebControls.Button btnAnotherRequest;
        protected System.Web.UI.WebControls.Panel pnlCreateData;
        protected System.Web.UI.WebControls.Literal lTextData;
        protected System.Web.UI.WebControls.Panel pnlDisplayData;
        //Panel pnlDropDownList;

        protected static string inputfile2;
        static string[] headers = null;
        static string[] data = null;
        static string[] data2 = null;
        static DataTable myInputFile = new DataTable("MyInputFile");
        static string[] myUserSelections;

        // …
Run Code Online (Sandbox Code Playgroud)

c# asp.net selectedindexchanged drop-down-menu

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

Javascript正则表达式:如何围绕以<b>标签开头的所有单词?

我想用大字头开头的所有单词包围@ <b>带有javascript正则表达式的标签.我会用什么模式?

javascript regex

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

GTD app的复合模式

这是我之前的一个问题的延续

这是我的课程.

#Project class     
class Project:
    def __init__(self, name, children=[]):
        self.name = name
        self.children = children
    #add object
    def add(self, object):
        self.children.append(object)
    #get list of all actions
    def actions(self):
        a = []
        for c in self.children:
            if isinstance(c, Action):
                a.append(c.name)
        return a
    #get specific action
    def action(self, name):
        for c in self.children:
            if isinstance(c, Action):
                if name == c.name:
                    return c
    #get list of all projects
    def projects(self):
        p = []
        for c in self.children:
            if isinstance(c, Project): …
Run Code Online (Sandbox Code Playgroud)

python gtd recursion composite

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