我有一个rails应用程序,允许用户下载生成的CSV文件.下载文件后,我想将用户重定向到新的URL或操作.在send_data之后有一个重定向的技巧吗?
我想做这样的事情(这不起作用):
send_data(output,:type => content_type,:filename => "myfile.csv")
redirect_to :controller => 'my_controller', :action => 'download_done'
Run Code Online (Sandbox Code Playgroud) 关于猴子修补如此酷或猴子补丁是地球上最糟糕的事情,我听过很多关于oahs和aahs的消息.我认为,如果你编写一些代码然后其他人改变其功能来做其他事情就不好了.但我正在寻找一个可能真的伤害你的情况的具体例子.我的意思是,我一直在编写代码,然后我的同事会对其进行更改.那么,猴子修补与此有何不同?可能发生的最坏情况是什么?
是否可以使用辅助方法在创建<option>的末尾添加?<select>collection_select
现在我有
f.collection_select(:category_id , @categories, :id, :name, {:prompt => 'Please select a category'})
Run Code Online (Sandbox Code Playgroud)
产生
<select id="product_category_id" name="product[category_id]">
<option value="">Please select a category</option>
<option value="7">category one</option>
<option value="8">category 2</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我想要的是什么
<select id="product_category_id" name="product[category_id]">
<option value="">Please select a category</option>
<option value="7">category one</option>
<option value="8">category 2</option>
<option value="new">..or create a new one</option>
</select>
Run Code Online (Sandbox Code Playgroud)
这是可能的还是我应该循环遍历集合并手动生成选项?
我有一个简单的表单,其中包含一些必需的字段验证器和一个验证摘要控件.当我提交表单时,客户端验证将使表单跳转到页面顶部.如果我删除验证摘要,页面不会移动.
下面是一个简单的例子:
<asp:TextBox ID="test" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="testrequired" runat="server" ControlToValidate="test">*</asp:RequiredFieldValidator>
<asp:ValidationSummary ID="summary" runat="server" />
<asp:Button ID="submit" runat="server" Text="submit" />
Run Code Online (Sandbox Code Playgroud)
我已经尝试设置SetFocusOnError="true"必需的字段验证器和MaintainScrollPositionOnPostback="true"咯咯笑 - 即使这不是一个回发 - 没有任何运气.这个问题有一个已知的解决方案吗?
编辑:
我在WebResource.axd生成的js中发现了问题.似乎在ValidationSummaryOnSubmit()功能中归结为一行.
line 534: window.scrollTo(0,0);
Run Code Online (Sandbox Code Playgroud)
有关如何删除或绕过此的任何想法?
EDIT2:
暂时快速解决:
EnableClientScript="false"为所有验证控件设置(禁用客户端验证)MaintainScrollPositionOnPostback="true"在Page指令中设置仍然希望客户端解决方案......
EDIT3:
似乎更好的解决方法是覆盖window.scrollTo()函数,以便在验证脚本调用时不执行任何操作:
<script type="text/javascript">
window.scrollTo = function() { }
</script>
Run Code Online (Sandbox Code Playgroud)
在页面上的任何位置添加上述内容会使客户端验证,但在window.scrollTo()整个页面中禁用该方法
如果我继续在很长的列表上调用len(),我是在浪费时间,还是在后台保留int计数?
我正在尝试使用JavaScript电子邮件混淆器来减少网站上列出的电子邮件中的垃圾邮件的可能性.现在我有了一个基于JavaScript的混淆器,它使用HTML编码和JavaScript的组合,将模糊的电子邮件透明地转换为普通的电子邮件.
我这样做是:
将链接中的href的"mailto:"部分格式化为HTML编码,如:
mailto:
Run Code Online (Sandbox Code Playgroud)
我还对电子邮件进行编码,将@符号替换为(a),以便电子邮件读取如下内容:
stackoverflow(a)example.com
Run Code Online (Sandbox Code Playgroud)
然后,我使用一些JavaScript来破译所有在电子邮件中都有此(a)标志的mailto链接,并将它们转换为@页面加载.
这很有效.对于使用启用了JavaScript的浏览器的用户,他们会看到一切正常.对于未启用JavaScript的人,我知道的每个邮件客户端都会认为该电子邮件地址无效,但是用户应该能够推断出更正符号所需的内容.
我想知道是否有更好的(更少侵入性(或充其量,不是非常侵入性)但更耐垃圾邮件的方式)在网页上混淆电子邮件.
与任何类型的混淆一样,如果人或计算机可以轻松地对其进行去混淆,那么垃圾邮件发送者可以轻松地做同样的事情.因此,我并不期待一个万无一失的混淆,但我很想知道其他建议是什么.搜索Google并没有透露任何我认为比现有解决方案更好的解决方案.我想知道是否还有其他好的选择.
你能解释一下为什么我应该继承ICloneable并实现这个Clone()方法吗?
如果我想做一个深层复制,我不能只实现我的方法吗?我们说吧MyClone()?
我为什么要继承ICloneable?有什么好处?这只是让代码"更具可读性"的问题吗?
刚开始玩Google App Engine和Python(作为借口;)).如何正确提交这样的表格
<form action="https://www.moneybookers.com/app/payment.pl" method="post" target="_blank">
<input type="hidden" name="pay_to_email" value="ENTER_YOUR_USER_EMAIL@MERCHANT.COM">
<input type="hidden" name="status_url"
<!-- etc. -->
<input type="submit" value="Pay!">
</form>
Run Code Online (Sandbox Code Playgroud)
没有将数据暴露给用户?
我有一个跨越多个页面的表单.现在设置它的方式并不理想,因为它在提交时会保存(到数据库)每个页面.因此,如果用户未在所有页面上填写表单,则会在数据库中保存不完整的用户注册.
如果用户没有完全填写表单,我想"回滚"保存.
那么有没有办法设置一个事务,当用户填写第一个表单时开始,当用户在最后一页完成时结束?
STL的地图类型有下一个类型:
std::map< Key, Data, Compare, Alloc >
Run Code Online (Sandbox Code Playgroud)
作为模板参数之一,我们可以传递Compare谓词,为什么map接受这个谓词作为模板参数而不是构造函数中的对象?
它可以boost::function< bool, const T&, const T& >在构造函数中具有更灵活的界面.
当然,我强调,当STL被设计时,boost不存在,但设计师可以在boost :: function上创建类似的东西.
我相信它有一些深层次的原因.
编辑
抱歉对于虚拟问题,地图有相同的可能性:)
我的问题没有意义后你的答案.
python ×2
.net ×1
asp.net ×1
boost ×1
c# ×1
c++ ×1
cloneable ×1
email-spam ×1
forms ×1
html ×1
icloneable ×1
javascript ×1
map ×1
obfuscation ×1
post ×1
ruby ×1
stl ×1
transactions ×1
validation ×1