0

問題を簡潔に保つように努めます。だから私はjqueryの.html関数を介してjqueryモーダルウィンドウ内でrails「render」呼び出しを行おうとしています。しかし、それは正しく機能していません。関連するコントローラーはusersと呼ばれ、そのアクションはnewと呼ばれます。したがって、私が行おうとしている関連するjquery呼び出しは、モーダルウィンドウの.html('<%= render(' users / new')%>')です。これが私のコードです。

        <script>
        $(document).ready(function(){
            var $dialog = $('<section></section>')
                                    .html('<%=render('users/new') %>')
                .dialog({
                    autoOpen: false,
                    modal:true
                });

            $('#target').click(function() {
                $dialog.dialog('open');
                return false;
            });
        });
        </script>

行を.html('<%= render(' users / new')%>')呼び出しに置き換えたとき.html('<%= link_to( "TEST"、{:controller =>'users'、:action =>'new'})%>')ウィンドウとリンクは正しく機能しました。だから私は問題が特にレンダリング呼び出しに関係していることを知っています。

この問題を修正し、jqueryモーダルウィンドウでレンダリングを機能させるにはどうすればよいですか?私の説明がはっきりしていることを願っています。あなたの助けをどうもありがとう!

4

1 に答える 1

1

JSで使用する場合は必ず使用escape_javascriptしてください。render以下のようなものが動作します:

<%= escape_javascript(render "users/new") %>
于 2012-11-23T20:51:56.677 に答える