在我的页面上我有以下内容:
<span id="attach-file" class="link">Attach a file</span>
<div id="attach-file-form">
</div>
给附加文件不是一个常见的用例,我不希望在加载时出现attach-file-form元素,这会减慢一切。
我想要发生的是用户点击“附加文件”,jQuery AJAX GET获取表单并将其注入attach-file-form。
Rails有什么正确的方法来解决这个问题?
在jQuery中我有:
$("#attach-file").live("click", function() {
DO A GET TO A custom Method in the Attachment Controller
Inject inside the div
});
这听起来不错吗?
答案 0 :(得分:2)
在页面上显示文件上传表单但隐藏将对您网站的性能产生非常小的影响。我建议将文件上传表单默认为隐藏,并在单击按钮时触发表单显示。
然后你的JQuery代码可以简单:
$("#attach-file").live("click", function() {
$("#file_upload_form").show();
});
如果您确实需要从服务器获取此信息,可以使用jQuery.get
方法调用Rails控制器,该控制器可以为您输出表单:
$("#attach-file").live("click", function() {
$.get("/controller/action", function(html) {
$("#file_upload_form").html(html);
}
});