我试图在没有JavaScript的情况下容纳用户.(顺便说一下,现在值得努力吗?)
在一个HTML文件中,如果脚本打开,我希望它的一部分执行,如果脚本关闭,则执行另一部分.
该<noscript>标签可以让我做了前者,但如何实现后者?我如何标记HTML的一部分,以便在脚本关闭时不被浏览器解析?
我需要解析一些C++文件,为了让事情变得更容易,我考虑删除多行注释.我尝试了以下正则表达式:/(\/\*.*?\*\/)/,使用多线修改器,它似乎工作.你认为会有任何失败的情况吗?
我遇到了包含单选按钮的嵌套模型表单的问题,当我有多个模型时,所有单选按钮都被视为在同一组中.
我的模型包含一个像这样的has_many关系:
class Order < ActiveRecord::Base
has_many :order_items
accepts_nested_attributes_for :order_items
end
Class OrderItem < ActiveRecord::Base
belongs_to :order
end
Run Code Online (Sandbox Code Playgroud)
然后我有一个部分使用创建OrderItem模型表单
<% fields_for "order[order_items_attributes][]", order_item do |f| %>
Run Code Online (Sandbox Code Playgroud)
这个表单中包含一组在for循环中创建的单选按钮
radio_button_tag "order[order_items_attributes][][colour_id]", "#{colour.id}"
Run Code Online (Sandbox Code Playgroud)
当只有一个孩子时,这可以正常工作,但是当我插入多个孩子时,所有单选按钮都属于同一个组,因为它们都具有相同的属性name="order[order_items_attributes][][colour_id]".这一切都在一个新的模型表单上,所以我不能使用数组索引(name="order[order_items_attributes][0][colour_id]"),因为Rails给出了expected Hash (got Array) for param 'order_items_attributes' 我最后一部分错误的错误,错误是因为我混合了索引和非索引的名称属性.添加索引值是解决这个问题的关键.
以下是params[:order]仅存在一个嵌套模型时哈希的内容:
{"order_items_attributes"=>
[{"size"=>"Small",
"colour_id"=>"4"],
"first_name"=>"sdf",
"last_name"=>"sdf",
"email"=>"sdfg@sgf.com"}
Run Code Online (Sandbox Code Playgroud)
当存在两个嵌套模型时:
{"order_items_attributes"=>
[{"size"=>"Small",
"colour_id"=>"4"},
{"size"=>"Small"}],
"first_name"=>"sdf",
"last_name"=>"sdf",
"email"=>"sdfg@sgf.com"}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,只有第一个order_item具有colour_id属性.无论选择的单选按钮属于哪种型号(这都有意义),都会发生这种情况.
如何渲染单选按钮,以便为每个子模型创建单独的组?
有没有办法为类型创建扩展方法?我似乎只能为实例创建它们.
public static class MyExtensions
{
public static string Test(this string s)
{
return "test";
}
}
public class Test
{
static void TestIt()
{
string.Test(); // won't compile
string s = null;
s.Test();
}
}
Run Code Online (Sandbox Code Playgroud) 我没有看到地址标签的使用.这些天使用地址标签仍然相关吗?任何弃用这种情况的提议都会出现吗?
我在.net上使用codeplex NVelocity库,我想在VelocityEngine实例上执行Evalute方法时发现错误,并且找不到模板文本中的一个参数.
我怎么能得到这个?
我在NVelocity.App.Event命名空间中找到了IInvalidReferenceEventHandler接口,但我找不到任何有关如何使用它的信息.任何帮助将不胜感激.
我有这种复杂的类型:
<xsd:complexType name="Identifier">
<xsd:sequence>
<xsd:element name="Id" type="xsd:string"/>
<xsd:element name="Version" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
Run Code Online (Sandbox Code Playgroud)
现在我想把它包含在另一个复杂的类型中,我一直在这样做:
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Id" type="Identifier"/>
<!-- More elements here -->
</xsd:sequence>
</xsd:complexType>
Run Code Online (Sandbox Code Playgroud)
这不是我真正想要的.我想直接在我的第二个复杂类型中包含Identifier类型的元素,而不创建新元素.就像这样做:
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Id" type="xsd:string"/>
<xsd:element name="Version" type="xsd:string"/>
<!-- More elements here -->
</xsd:sequence>
</xsd:complexType>
Run Code Online (Sandbox Code Playgroud)
希望有道理.
提前致谢.
我已经在iPhone应用程序上工作了几个星期,我添加的早期功能之一是UIWebView,它加载了上下文敏感的维基百科页面主题.这实现起来非常简单,并且已经工作了一段时间.
今天,我发现功能意外地停止了工作.我一直在那段代码的周边摆弄,最初认为我已经破坏了一些东西.
我检查了所有显而易见的地方,我的网址是UIWebView仍然连接在XIB等.我没有发现任何问题.
进一步调查,我在我的UIWebViewDelegate didFailLoadWithError上遇到了一些错误处理,发现我收到了-999错误:
NSURLErrorCancelled
取消异步加载时返回.
Web Kit框架委托在对加载资源执行取消操作时将收到此错误.请注意,如果取消下载,NSURLConnection或NSURLDownload委托将不会收到此错误.
所以这听起来像是在原始请求完成之前发出新请求(或取消).我检查我的代码是否有这样的东西,然后空出来.
因此,我进入了惯常的偏执狂,并假设维基百科正在阻止基于UAgent或其他东西的请求,并继续进行一些疯狂的追逐,试图欺骗我回到幸福的地方.这些尝试没有成功,最终理智得到了胜利.我创建了一个简单的python脚本来模仿我在模拟器中从我的APP发出的HTTP请求,看看维基百科发回的内容:
string = "GET /wiki/Franklin_D._Roosevelt HTTP/1.1\r\nHost: en.wikipedia.org\r\nUser-Agent: test\r\nReferer: http://en.wikipedia.org/wiki/Franklin_D._Roosevelt\r\nAccept: */*\r\nAccept-Language: en-us\r\n_Accept-Encoding: gzip, deflate\r\nConnection: keep-alive\r\n\r\n"
import socket
s = socket.socket()
s.connect(("en.wikipedia.org",80))
s.send(string)
x = s.recv (1000)
while (x):
print x
x = s.recv (1000)
Run Code Online (Sandbox Code Playgroud)
所以我运行这个人,发现维基百科非常友好地及时完整地返回我的数据.那么发生了什么?
Chinks开始出现在我的每一个礼物,偏执的盔甲"这总是我的错",我决定检查其他iPhone应用程序是否可以查看这些URL.我发布了一条带有讽刺意味(我很容易被逗乐)URL 的推文,并查看Tweetie是否可以查看该网址.它不能.
一位朋友在Twitterific中试一试.同样的问题.在Safari和维基百科应用程序中工作正常,但似乎使用沼泽标准UIWebView的 iPhone应用程序在维基百科页面上遇到问题.
为了完全确定没有其他变量,我创建了一个简单的测试应用程序,只加载了一个UIWebViewhttp://en.wikipedia.com,它失败并出现相同的错误(最后添加了代码).
那你觉得怎么样?这只是一个UIWebView错误吗?任何苹果公司的人都知道这里发生了什么事吗?
我是否错过了一些完全明显的东西,我再次坐在火车上工作,没穿裤子?
期待听到您的想法.请记住,这昨天工作正常.
汇报(或者说Post Mortem更合适):
感谢Duncan提供的解决方案以及对此处发生的事情的清晰描述.
看起来我最初看到错误的原因,当我没有实现didFailLoadWithError委托方法时,该方法的默认行为显然是清除UIWebView并因此终止请求.当我添加我的实现以了解发生了什么时,我坚持使用一些代码将错误写入视图,正如Duncan指出的那样,这就是我得到的结果. …
我需要在c ++中存储一组int和double(表示名义和实数值).我显然可以将它们全部存储在一起std::vector<double>,但这感觉有点不对,并没有获得美学奖励积分.
我也可以基于多态来烹饪一些东西,但我也需要集合非常有效:存储和检索集合中的数据应该尽可能快.我发现很难判断这样的解决方案是否最有效.
我还发现了boost :: variant,这可能会有所帮助.
附加信息:集合中的项目数量很少(<100),并在初始化集合时已知.
总结:我显然可以通过无数种方式解决这个问题,但我不确定在(i)效率非常重要和(ii)我还想编写一些不错的代码时,什么是一个好的解决方案.我最好的选择是什么?
编辑,附加信息:集合表示较大数据集中的"行",其元素表示某些"列"的值.行的属性是已知的,因此知道在哪个位置存储什么类型的数据.我所讨论的'效率'主要是检索某列的int/double值的效率,尽管快速设置值也很重要.我有一些函数可以对需要尽快检索的数据进行操作.例:
typedef std::vector<double> Row;
void doubleFun(Row const &row)
{
// Function knows there's always a double at index 0
double value = row[0];
...
}
void integerFun(Row const &row)
{
// Function knows there's always an integer at index 1
int value = row[1];
...
}
Run Code Online (Sandbox Code Playgroud)
经过一番思考和阅读建议到目前为止,似乎只是将int列和双列存储在两个单独的向量中是一个可靠的解决方案.Row然后,该集合可以定义两个不同的成员,用于检索函数可以使用的名义和实际数据.
vector<double>我想,只是存储为一个没问题,但这取决于double和int之间的转换速度有多快(这可能相当令人印象深刻).
抱歉一开始有点不清楚,我希望现在更清楚了,我可以对此事有更多的想法.
使用复选框从表单收集数据的最佳方法是什么,因此它很好地分组到接收页面中$ _POST数组的一个数组中.
例如,在我的表单中,我将使用看起来像这样的HTML(x =勾选):
[x] Option One
[ ] Option Two
[x] Option Three
Run Code Online (Sandbox Code Playgroud)
我想从$ _POST数组转换成数组:
Array
(
[a] => "Option One"
[b] => "Option Three"
)
Run Code Online (Sandbox Code Playgroud)
这样做有一个很好的捷径吗?
c# ×2
c++ ×2
html ×2
.net ×1
actionview ×1
arrays ×1
c#-3.0 ×1
collections ×1
complextype ×1
element ×1
iphone ×1
javascript ×1
noscript ×1
nvelocity ×1
parsing ×1
php ×1
post ×1
radio-button ×1
regex ×1
uiwebview ×1
xsd ×1