问题列表 - 第1029页

需要建议:子菜单的Rails视图结构?

想象一下,在您的应用程序中有两个RESTful控制器(UsersController,OffersController)和一个PagesController(用于静态内容,如index,about等).

您定义了以下路由:

map.with_options :controller => 'pages' do |pages|
  pages.root :action => 'index'     # static home page
  pages.about :action => 'about'    # static about page
  # maybe more static pages...
end
map.resources :users    # RESTful UsersController
map.resources :posts    # RESTful PostsController
Run Code Online (Sandbox Code Playgroud)

您的应用程序布局如下所示:

<html>
  <head>
    <title>Demo Application</title>
  </head>
  <body>
    <ul id="menu">
       <li>
         <%= link_to 'Home', root_path %>
       </li>
       <li>
         <%= link_to 'Offers', offers_path %>
         <ul id="submenu>
           <li><%= link_to 'Search', 'path/to/search' %></li>
           <li>maybe more links...</li>
         </ul>
       </li>
       <li>
         <%= link_to 'About', about_path %> …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

如何将相对URL转换为完整URL?

用一个例子可以更容易地解释这一点.我正试图找到一种方法将相对URL,例如"/Foo.aspx"或"〜/ Foo.aspx"转换为完整的URL,例如http://localhost/Foo.aspx.这样,当我部署到测试或阶段时,网站运行的域名不同,我将获得http://test/Foo.aspxhttp://stage/Foo.aspx.

有任何想法吗?

asp.net

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

对Java Webstart的反对意见?

自从Adobe AIR发布以来,我想知道为什么Java Web Start在过去没有引起更多的关注,对我而言似乎非常相似,但是Web启动可以使用很长时间.

这主要是因为Sun的营销不好,还是除了需要安装合适的JVM之外还有更多的技术问题?您是否有使用Web Start的糟糕经历?如果是的话,哪个?使用Web Start分发应用程序时,您有什么建议?

java java-web-start

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

关系数据库中的键值对

有人有将密钥值对存储在数据库中的经验吗?

我一直在使用这种类型的表:

CREATE TABLE key_value_pairs ( 
    itemid           varchar(32) NOT NULL,
    itemkey         varchar(32) NOT NULL,
    itemvalue       varchar(32) NOT NULL,
    CONSTRAINT ct_primarykey PRIMARY KEY(itemid,itemkey)
)
Run Code Online (Sandbox Code Playgroud)

然后例如可以存在以下行:

 itemid            itemkey        itemvalue    
 ----------------  -------------  ------------ 
 123               Colour         Red            
 123               Size           Medium             
 123               Fabric         Cotton
Run Code Online (Sandbox Code Playgroud)

这种方案的问题是提取数据所需的SQL语法非常复杂.仅创建一系列键/值列会更好吗?

CREATE TABLE key_value_pairs ( 
    itemid            varchar(32) NOT NULL,
    itemkey1        varchar(32) NOT NULL,
    itemvalue1      varchar(32) NOT NULL,
    itemkey2        varchar(32) NOT NULL,
    itemvalue2      varchar(32) NOT NULL,
 . . .etc . . .
)
Run Code Online (Sandbox Code Playgroud)

这将更容易,更快速地查询,但缺乏第一种方法的可扩展性.有什么建议?

sql database

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

制作C标识符和字符串?

假设您要生成标识符和字符串的匹配列表

enum
{
NAME_ONE,
NAME_TWO,
NAME_THREE
};

myFunction(NAME_ONE, "NAME_ONE");
myFunction(NAME_TWO, "NAME_TWO");
myFunction(NAME_THREE, "NAME_THREE");
Run Code Online (Sandbox Code Playgroud)

..没有重复自己,没有自动生成代码,使用C/C++宏

初步猜测:

您可以添加包含的#include文件

myDefine(NAME_ONE)
myDefine(NAME_TWO)
myDefine(NAME_THREE)
Run Code Online (Sandbox Code Playgroud)

然后使用它两次,如:

#define myDefine(a) a,
enum {
#include "definitions"
}
#undef myDefine

#define myDefine(a) myFunc(a, "a");
#include "definitions"
#undef myDefine
Run Code Online (Sandbox Code Playgroud)

但#define不允许你在字符串中放置参数?

c c-preprocessor preprocessor-directive

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

C99 stdint.h头文件和MS Visual Studio

令我惊讶的是,我刚刚发现MS Visual Studio 2003向上缺少C99 stdint.h.我确定他们有他们的理由,但有谁知道我可以在哪里下载副本?如果没有这个头文件,我就没有uint32_t等有用类型的定义.

c c++ c99 visual-studio

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

撤消Subversion中的特定修订

假设我在存储库文件夹中有一组提交...

123 (250 new files, 137 changed files, 14 deleted files)
122 (150 changed files)
121 (renamed folder)
120 (90 changed files)
119 (115 changed files, 14 deleted files, 12 added files)
118 (113 changed files)
117 (10 changed files)
Run Code Online (Sandbox Code Playgroud)

我想获得一份工作副本,其中包括修订版117以后的所有更改,但不包括修订版118和120的更改.

编辑:为了使问题更清楚,我想撤消在118和120中所做的更改,同时保留所有其他更改.该文件夹包含数百个子文件夹中的数千个文件.

实现这一目标的最佳方法是什么?

得益于Bruno和Bert,答案就是命令(在这种情况下,在执行完全合并后删除120)

svn merge -c -120 .
Run Code Online (Sandbox Code Playgroud)

请注意,必须使用前导减号指定修订号.'-120'不是'120'

svn undo cherry-pick

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

在Visual Studio中指定非.NET依赖项

我使用P/Invoke从我的项目调用非.NET dll,这意味着.dll必须始终存在于.exe的目录中.

有没有办法告诉Visual Studio这个依赖项,以便它在编译时自动将.dll复制到输出目录,并在设置中自动包含.dll?或者我必须手动执行此操作吗?

.net dll dependencies visual-studio

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

Rails确定两个(或更多)给定URL(作为字符串或哈希选项)是否相等的最佳方法是什么?

我想要一个名为same_url的方法?如果传入的URL相等,则返回true.传入的URL可能是params选项hash或strings.

same_url?({:controller => :foo, :action => :bar}, "http://www.example.com/foo/bar") # => true
Run Code Online (Sandbox Code Playgroud)

Rails框架帮助器current_page?似乎是一个很好的起点,但我想传递任意数量的URL.

作为额外的奖励如果可以传入从比较中排除的参数的散列,那将是很好的.因此方法调用可能如下所示:

same_url?(projects_path(:page => 2), "projects?page=3", :excluding => :page) # => true 
Run Code Online (Sandbox Code Playgroud)

ruby url routes ruby-on-rails

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

对于2.4MB XML文件,您会推荐哪个Ruby XML库?

我有一个2.4 MB的XML文件,从Microsoft Project导出(嘿,我是受害者!),我要求我提取重新呈现的某些细节.忽略请求的智能或其他方面,我应该首先从Ruby的角度尝试哪个库?

我知道以下内容(没有特别的顺序):

我更喜欢打包成Ruby宝石的东西,我怀疑Chilkat库不是.

性能不是一个主要问题 - 我不认为每天需要运行一次以上(每周一次更有可能).我对那些与XML相关的东西一样容易使用的东西更感兴趣.

编辑:我尝试了宝石的:

hpricot是一个国家英里,最简单.例如,要在此XML中提取SaveVersion标记的内容(保存在名为'test.xml'的文件中)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Project xmlns="http://schemas.microsoft.com/project">
    <SaveVersion>12</SaveVersion>
</Project>
Run Code Online (Sandbox Code Playgroud)

采取这样的事情:

doc = Hpricot.XML(open('test.xml'))
version = (doc/:Project/:SaveVersion).first.inner_html
Run Code Online (Sandbox Code Playgroud)

hpricot似乎相对不关心命名空间,在这个例子中很好:只有一个,但可能是复杂文档的问题.由于hpricot也非常慢,我宁愿想象这将是一个解决自己的问题.

libxml-ruby的速度提高了一个数量级,了解命名空间(我需要花费几个小时来计算出来)并且完全接近XML金属 - XPath查询和所有其他的东西都在那里.如果像我一样,只有在极端胁迫的情况下才能打开XML文档,这不一定是好事.帮助器模块主要用于提供有效处理默认命名空间的示例.这大致是我最终得到的结论(我不以任何方式断言它的美丽,正确性或其他价值,它就在我现在的位置):

xml_parser = XML::Parser.new
xml_parser.string = File.read(path)
doc = xml_parser.parse
@root = doc.root
@scopes = { :in_node => '', :in_root => '/', :in_doc => '//' }
@ns_prefix = 'p'
@ns = "#{@ns_prefix}:#{@root.namespace[0].href}"
version = @root.find_first(xpath_qry("Project/SaveVersion", :in_root), @ns).content.to_i

def xpath_qry(tags, scope = :in_node)
  "#{@scopes[scope]}" + tags.split(/\//).collect{ …
Run Code Online (Sandbox Code Playgroud)

ruby xml

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