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 に答える