1

单击图像(category_icon)时,如何将部分('reports/form')加载到隐藏的div(report_mod)中?目前,页面加载时正在加载部分内容。

需要明确的是,目标是防止部分加载,直到单击图像图标。

如果需要使用 iframe 来执行此操作,那也可以。我只需要知道如何从部分引用路径,其中表单可能是新记录或现有记录的编辑。link_to_remote 是我要找的吗?如果是这样,我会怎么写?

$('#category_icon').click(function(){
    $('#report_mod').html("<%= escape_javascript(render(:partial => 'reports/form')) if current_user %>");
    $('#report_mod').toggle('medium');      
});
4

1 回答 1

2

您可以使用 ajax 方法来执行此操作。例如:

#in your js file or view
$('#category_icon').click(function(){
    $.ajax(`{
        url: "/your/url/for/form",
        dataType: "html",
        type: "GET",
        success: function(html) {          
            $('#report_mod').html(html);
            $('#report_mod').show();
        }`
    }); 
});
#in your controller
def display_form
    @your_object = YourObject.new
    respond_with do |format|
        format.html { }
        format.js { 
            render :partial => "reports/form"
        }
    end
end

并且您需要在 config/routes.rb 中为此操作添加一个路由作为集合。

我希望这会有所帮助。

于 2012-04-16T08:31:38.290 回答