在我的rails应用程序中,我有一个带有start_date和end_date的模型.如果用户选择2010年1月1日作为start_date和2010年1月5日作为end_date,我希望创建5个模型实例(每天选择一个).所以它看起来像
Jan 1, 2010
Jan 2, 2010
Jan 3, 2010
Jan 4, 2010
Jan 5, 2010
Run Code Online (Sandbox Code Playgroud)
我知道解决这个问题的一种方法是在控制器中进行循环.就像是...
# ...inside controller
start_date.upto(end_date) { my_model.new(params[:my_model]) }
Run Code Online (Sandbox Code Playgroud)
但是,我想保持我的控制器瘦,加上我想保持模型逻辑不在其中.我猜我需要覆盖模型中的"新"方法.最好的方法是什么?
我使用Menu控件作为区域.它工作正常,但是当我向我的应用程序添加一个主题时(向我的App.xaml添加了一个资源字典),普通菜单有主题,但我所在区域内的视图(菜单项)没有这个主题.
它背后的原因可能是什么?任何人都有一个解决方案的想法?
亚历克斯.
有人可以解释一下"_"的价值是什么吗?这就是fiddler为我的MVC 3页面显示的内容,该页面在客户端上有一个jQuery ajax调用.
GET/Services/GetFoodDescriptionsLookup(100)?_ = 1291727469299 HTTP/1.1
当URL以这种方式构造时,我不会收到任何数据,但如果我输入
GET/Services/GetFoodDescriptionsLookup(100)
这工作..
谢谢你,斯蒂芬
我的问题非常简单,我有一个字节数组(通过套接字完成),我想将它转换为XmlTextReader对象.我怎样才能做到这一点?
这不起作用:
byte[] buffer = new byte[5000]; // TODO a revoir
int sizeReceived;
sizeReceived = _socket.Receive(buffer);
string s = Encoding.UTF8.GetString(buffer, 0, sizeReceived); // s is correctly fulfilled with XML a get back
MemoryStream memory = new MemoryStream(buffer);
memory.Position = 0;
return new XmlTextReader(memory);
Run Code Online (Sandbox Code Playgroud)
感谢帮助.
我正在使用PackageMaker作为我的应用程序的安装程序(这不仅仅是一个简单的包).我想知道如何创建卸载程序,在何处安装它以及如何向用户提供启动它的方法.
在此先感谢您的帮助,
我们做了很多名称空间重构.现在我们遇到的一个大问题是,如果我们有错误的信号/插槽连接,我们只能在运行时检查.
是否有外部工具,代码分析器或方法,我们可以立即检查所有信号/插槽连接?
我们考虑froglogic squish,但我们不太确定,如果挤压可以帮助我们进行这个详细的测试.
提前谢谢,拉尔斯
我想知道如何在使用PackageMaker安装后启动应用程序.我收到了来自用户的大量电子邮件,询问我为什么该应用程序无法自动启动.
在此先感谢您的帮助,
问候,
使用jQueryMobile,我已经包含data-role="footer" data-position="fixed"在标记中,但仍存在两个错误:
我正在测试iPhone 3g.有任何想法吗?
提前致谢.
更新:似乎click事件修改了当前页面的页脚,并更改ui-fixed-overlay为ui-fixed-inline,当然这样做的样式是display:none为了防止其他页面的页脚出现.
我该如何防止这种修改?
<ul>
<li>
<ul></ul>
</li>
<li></li>
<li></li>
<li></li>
<li>
<ul></ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
如何添加class="parent"仅适用于li,它具有ul内部呢?
我正在编写一个PHP脚本的网页,用于接受以前上传到服务器的JFFS2图像的文件名.然后脚本将使用映像重新刷新服务器上的分区,并输出结果.我一直在用这个:
$tmp = shell_exec("update_flash -v " . $filename . " 4 2>&1");
echo '<h3>' . $tmp . '</h3>';
echo verifyResults($tmp);
Run Code Online (Sandbox Code Playgroud)
(该verifyResults函数将返回一些HTML指示给用户的更新命令是否已成功完成.即,在的情况下更新成功完成,则显示一条按钮重启装置等)
这样做的问题是更新命令需要几分钟才能完成,并且PHP脚本会阻塞,直到shell命令完成后再返回任何输出.通常,这意味着更新命令将继续运行,而用户将看到一个HTTP 504错误(在最坏的情况),或者等待网页加载几分钟.
我正在考虑做这样的事情:
shell_exec("rm /tmp/output.txt");
shell_exec("update_flash -v " . $filename . " 4 2>&1 >> /tmp/output.txt &");
echo '<div id="output"></div>';
echo '<div id="results"></div>';
Run Code Online (Sandbox Code Playgroud)
这理论上会将命令放在后台并将所有输出附加到/tmp/output.txt.
然后,在JavaScript函数,我会定期要求getOutput.php,这会简单地打印/tmp/output.txt的内容,并将其贴到"输出"分区.命令完成后,另一个Javascript函数将处理输出并在"results"div中显示结果.
但我在这里看到的问题是getOutput.php最终会在更新设备的闪存期间无法访问,因为它位于更新目标分区上.所以这可能会让我处于和以前一样的位置,尽管没有504或看似永远加载的页面.
我可以将getOutput.php移动到设备中的另一个分区,但是我认为我仍然需要使用webserver配置做一些时髦的东西才能在那里访问它(从webroot到它的符号链接,就像任何其他文件,最终在重新刷新期间被覆盖).
有没有其他方法在运行时显示命令的输出,或者我应该只使用我的解决方案?
编辑1:我正在测试一些解决方案.我稍后会用结果更新我的问题.
编辑2:似乎文件系统没有像我原先想象的那样被覆盖.相反,系统似乎以只读模式挂载现有文件系统,因此即使重新刷新文件系统,我仍然可以访问getOutput.php.
我在我的问题中描述的第二个解决方案似乎与使用popen(如下面的答案中提到)而不是shell_exec一起工作.页面加载,通过Ajax,我可以显示output.txt的内容.
但是,似乎output.txt没有实时反映re-flash命令的输出 - 在update命令从执行返回之前似乎没有显示任何内容.我需要做进一步的测试,看看这里发生了什么.
编辑3:没关系,我访问它时看起来文件是最新的.当我使用存储源JFFS2映像的分区触发内核执行一些与JFFS2相关的任务时,我只是遇到了延迟.我不知道为什么,但这显然导致所有PHP脚本都阻塞,直到它完成.
为了解决这个问题,我将把更新命令调用放在一个单独的脚本中并通过Ajax请求它 - 这样,用户至少会收到一些预先打包的反馈,而技术上仍在等待系统.