我正在尝试了解在轨道上的ruby中提取向导表单的最佳选项.理想情况下,我想拥有它,以便应用程序注册有一个后退和下一个按钮,允许用户按步骤提交数据.
因此,在第1步中,他们可以填写联系信息.一旦完成,他们可以点击下一步并在第2步填写付款信息等.如果他们犯了错误,他们可以点击并更正它.将需要一些步骤,而其他步骤则不需要,但您必须在最后一步将数据提交到数据库进行注册.然后,他们需要能够在完成后以相同的方式返回并填写过去的步骤.(例如:如果他们点击个人资料链接,他们可以以相同的方式重新完成步骤,因为他们不想立即完成所有步骤.也许在完成注册步骤之前给出跳过按钮? ).我还需要验证是否已完成哪些步骤,以防止它们进入下一步,直到纠正或完成为止.
选项1)我注意到ajax已被推荐作为stackoverflow上其他问题的一个选项.我遇到的唯一问题是,如果禁用了javascript,用户将无法注册.理想情况下,我希望它能够在轨道上使用ruby,但是我愿意使用任何必要的东西来使它工作.
前段时间我使用jQuery创建了一个灯箱插件,它将链接中指定的URL加载到灯箱中.代码非常简单:
$('.readmore').each(function(i){
$(this).popup();
});
Run Code Online (Sandbox Code Playgroud)
并且链接看起来像这样:
<a class='readmore' href='view-details.php?Id=11'>TJ Kirchner</a>
Run Code Online (Sandbox Code Playgroud)
该插件还可以接受宽度,高度,不同URL以及更多数据传递的参数.
我现在面临的问题是打印灯箱.我进行了设置,以便灯箱的顶部有一个打印按钮.该链接将打开一个新窗口并打印该窗口.这一切都是由灯箱插件控制的.这是代码的样子:
$('.printBtn').bind('click',function() {
var url = options.url + ( ( options.url.indexOf('?') < 0 && options.data != "" ) ? '?' : '&' ) + options.data;
var thePopup = window.open( url, "Member Listing", "menubar=0,location=0,height=700,width=700" );
thePopup.print();
});
Run Code Online (Sandbox Code Playgroud)
问题是脚本似乎没有等到窗口加载.它想要在窗口出现的那一刻打印.因此,如果我单击"取消"到打印对话框,它将一次又一次地弹出,直到窗口加载.我第一次尝试打印时,得到了一个空白页面.那可能是因为窗口没有完成加载.
我需要找到一种方法来改变前面的代码块,等到窗口加载然后打印.我觉得应该有一个简单的方法来做到这一点,但我还没有找到它.或者,或者我需要找到一种更好的方法来打开弹出窗口并从父窗口中的灯箱脚本打印,而不需要在弹出窗口中交替使用网页代码.
我寻找产生从L-方程的PNG图像的方式甲 Ť é X源代码嵌入在模板。例如,给定:
[% FILTER latex_display ]
\begin{eqnarray*}
\max && U(x,y) \\
\mathrm{s.t.} && p_x x + p_y y \leq I \\
&& x \geq 0, y \geq 0
\end{eqnarray*}
[% END %]
Run Code Online (Sandbox Code Playgroud)
我想获得输出:
<div class="latex display"><img src="equation.png" width="x" height="y"></div>
Run Code Online (Sandbox Code Playgroud)
最终应显示为:
我正在使用ttree脱机生成文档。我知道Template :: Plugin :: Latex,但这是为了从L A T E X模板中生成实际文档。
有什么建议么?
我很感谢这些建议(我已经投票赞成)。但是,它们并不是我所需要的。我非常感谢您为使用插件或模板工具过滤器包入门的一些建议。
我有一个entityDao,由我的objectDaos的每个人继承.我正在使用Dynamic Linq并尝试使用一些通用查询.
我的EntityDao中的泛型方法中有以下代码:
public abstract class EntityDao<ImplementationType> where ImplementationType : Entity
{
public ImplementationType getOneByValueOfProperty(string getProperty, object getValue){
ImplementationType entity = null;
if (getProperty != null && getValue != null)
{
LCFDataContext lcfdatacontext = new LCFDataContext();
//Generic LINQ Query Here
entity = lcfdatacontext.GetTable<ImplementationType>().Where(getProperty + " =@0", getValue).FirstOrDefault();
//.Where(getProperty & "==" & CStr(getValue))
}
//lcfdatacontext.SubmitChanges()
//lcfdatacontext.Dispose()
return entity;
}
Run Code Online (Sandbox Code Playgroud)
然后我在单元测试中执行以下方法调用(我的所有objectDaos都继承entityDao):
[Test]
public void getOneByValueOfProperty()
{
Accomplishment result = accomplishmentDao.getOneByValueOfProperty
("AccomplishmentType.Name", "Publication");
Assert.IsNotNull(result);
}
Run Code Online (Sandbox Code Playgroud)
以上过程(AccomplishmentType与成就有关系)
Accomplishment result = …Run Code Online (Sandbox Code Playgroud) 我正在尝试对比正常数据集(超过2m条记录)更大的数据执行日常操作。但是,Rails似乎需要很长时间才能对此类数据集执行操作。像
Dataset.all.each do |data|
...
end
Run Code Online (Sandbox Code Playgroud)
需要很长时间才能完成(我想这是因为它不能一次将所有项目都放入内存,对吗?)。
有人对我如何处理这种情况有任何策略吗?我知道SQL可能会加快这一过程,但是我希望使用Rails环境,因为与仅使用SQL语句相比,我可以对数据做更多复杂的事情。
我如何以编程方式自行删除?
C#/ .NET Compact Framework 2/Windows Mobile 6
拜托,我不想讨论为什么这样做,我只需要知道怎么做!
重要:
"第二次申请"方法不是一种选择.(除非第二个应用程序可以从正在运行的应用程序"提取",但我不知道该怎么做!).
强制重启没问题,如果windows在启动时做了伎俩.(有可能吗?很好!告诉我如何!).
欢迎使用代码示例.
我想制作一个带有2个选择框的HTML表单.第一个选择框中的选定选项应该驱动第二个选择框中的选项.我想在客户端(使用javascript或jQuery)动态解决这个问题,而不是必须向服务器提交数据.
例如,假设我有以下菜单类别和菜单项:
我会有两个select盒子,分别命名Menu Category和Items.当用户Sandwiches在Menu Category框中选择时,框中的选项Items将仅显示三明治选项.
为了使这更具挑战性,让我们假设我不知道菜单项或类别是什么,直到我准备将页面发送到客户端.我需要一些方法来"链接"两个选择列表的数据,但我不知道如何做到这一点.
我陷入困境,因为我可能会这样做.一旦我过滤掉第二个列表一次,当我在第一个列表中更改菜单类别后,如何"找到"列表选项?另外,如果我在思考SQL,我会在第一个框中有一个键,用于链接到第二个框中的数据.但是,我无法看到第二个框中有"key"元素的空间.
如何通过jQuery或普通javascript的组合解决这个问题?
在Firefox中它可以工作,在我的Internet Explorer 6或7中它没有:
<html>
<head>
<script type="text/javascript">
function newLine() {
var tdmod = document.createElement('td');
tdmod.appendChild(document.createTextNode("dynamic"));
var tr = document.createElement('tr');
tr.appendChild(tdmod);
var tt = document.getElementById("t1");
tt.appendChild(tr);
}
</script>
</head>
<body>
<a href="#" onclick="newLine()">newLine</a>
<table id="t1" border="1">
<tr>
<td>
static
</td>
</tr>
</table>
</body>
Run Code Online (Sandbox Code Playgroud)
用户单击链接"newLine",新行应添加到表中.
如何在IE中使这项工作?
编辑:感谢接受的答案,我改变了它,现在它的工作原理:
<table border="1">
<tbody id="t1">
<tr>
<td>
static
</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud) 我刚刚将我的jQuery从1.3.2升级到1.4.2,我认为它给了我一些问题.我有一个$.post()调用控制器方法的函数,并传递一些我格式化的数据:
$.post(url, { arrayParam: myArray, param2: false }, someCallback, 'html');
Run Code Online (Sandbox Code Playgroud)
在Firebug中,POST说1.3.2中的参数如下所示:
arrayParam: 100
arrayParam: 101 (etc..)
Run Code Online (Sandbox Code Playgroud)
但对于1.4.2,它们看起来像这样:
arrayParam[]: 100
Run Code Online (Sandbox Code Playgroud)
这打破了我的控制器,它期待一个List<Int32>for arrayParam(并在代码库周围引起一些JSON问题).有没有办法绕过这个没有恢复到1.3.2或重新编程我的所有控制器?
谢谢
javascript ×3
jquery ×3
asp.net-mvc ×1
c ×1
c# ×1
database ×1
dynamic-linq ×1
dynamic-ui ×1
forms ×1
generics ×1
html ×1
jquery-1.4 ×1
latex ×1
lightbox ×1
linq ×1
linq-to-sql ×1
macos ×1
multipage ×1
perl ×1
png ×1
popup ×1
printing ×1
ruby ×1
scaling ×1
where-clause ×1
wizard ×1