我需要一些建议,说明我是否正在为我的Web表单转换正确的方法。rails 3将表单助手与HTML/javascript表单逻辑相结合
我有这个简单的模型,基本上由2个字段组成。这里的迁移是:
class CreateAssetAllocations < ActiveRecord::Migration
def self.up
create_table :asset_allocations do |t|
t.string :asset_allocation
t.date :effective_date
t.timestamps
end
end
end
与此模型中的唯一转折是,asset_allocation
不只是一个简单的字符串。相反,它是一个逗号分隔值(CSV)的列表。
但是,我不想将CSV格式公开到用于创建模型的新实例的Web窗体。所以我的“新”的视图模板具有以下一般形式:
- 它采用
date_select
轨帮手进入effective_date
场 - 它有输入的数组进入
asset_allocation
CSV的各个组成部分的对象。对于这些,我使用原生HTML<input>
标签,标注jQuery验证逻辑以确保各个元素彼此一致。 - 我有本机HTML
<button>
元素,我已经创建提交表单。它绑定到一些jQuery逻辑,它通过<input>
字段循环并在将它发送到服务器之前将它们全部打包成一个CSV字符串。一旦CSV字符串准备就绪,它将使用CSV数据调用jQuery.post()
。
这里是提交表单我按钮逻辑:
<script>
function okGo() {
var result=""
$('.classentry option:selected').each(function() {
var tag = $(this).val();
var value = $(this).parent().next().val();
result += tag + ":" + value + ",";
});
alert(result);
$.post("<%=security_assets_path(@security)%>", { foo: result, asset_allocation: asset_allocation });
}
</script>
<button onClick="return okGo();">Go</button>
这里是调用date_select
(见下文)。你可以看到我正在将对象分配给asset_allocation
变量。如果你看看上面的电话$.post()
,你会发现我试图在发布的数据中包含asset_allocation
对象,但它不起作用。 foo
数据正常,但不是asset_allocation
。
Enter Effective Date:<br />
<%= date_select("asset_allocation", "effective_date")%>
上述解决方案对于将CSV数据发送到服务器工作正常。但是,我不知道如何访问date_select
辅助数据以包含在$.post()
的调用中。
我应该采取不同的方法来应对这种情况吗?
谢谢