1

我想知道在哪里将 javascript 文件放在 ruby​​ on rails 中。

我在我的应用程序中使用 jQuery 对话框。我放在 assets/javascripts 和 assets/stylesheets 下的所有 jQuery 和 CSS 文件。

现在,我的视图页面中有一些 JavaScript 代码,即“my_event”。把这段 JavaScript 代码放在哪里?

我对此进行了谷歌搜索,并发现了一些建议制作my_event.js文件并将此文件放在views/useraccount目录中的内容。

寻求您的宝贵建议。

控制器用户帐户.rb

查看 my_event.html.erb

<script>
    $(document).ready(function() {

        $('#calendar').fullCalendar({

            header : {
                left : 'prev,next today',
                center : 'title',
                right : 'month,agendaWeek,agendaDay'
            },
            // US Holidays
            events : '/useraccount/my_event',
            eventClick : function(event) {
                // alert (JSON.stringify(event,null,4)); return false;
                if (event.description) {
                    var a = '<button onclick="addToMycal(' + event.id + ')">UnJoin</button>'
                    $("#Successmes").empty();
                    $('#event-desc').html(event.description);
                    $('#add-to-my-cal').html(a)
                    $("#dialog-modal").dialog({
                        height : 350,
                        width : 600,
                        modal : true,
                        buttons : {
                            Ok : function() {
                                $(this).dialog("close");
                            }
                        }

                    });
                } else {
                    $('#event-desc').html("<h4>Oops!</h4> No Data Available");
                    $("#dialog-modal").dialog({
                        height : 300,
                        width : 363,
                        modal : true,
                        buttons : {
                            Ok : function() {
                                $(this).dialog("close");
                            }
                        }
                        // alert (event.description);
                    });
                }
            },
        });
    });

</script>

<script>
    function addToMycal(val) {
        $.getJSON("/useraccount/delete_event?d=" + val, function(data) {
            // alert (JSON.stringify(data,null,4)); return false;
            $("#Successmes").empty();
            $("#event-desc").html(data.msg)
            $("#add-to-my-cal").remove();

        });

    }

</script>
<style>
    #calendarbody {
        margin-top: 40px;
        text-align: center;
        font-size: 14px;
        font-family: "Lucida Grande", Helvetica, Arial, Verdana, sans-serif;
    }

    #calendar {
        width: 900px;
        margin: 0 auto;
        background-color: #E7EAF6;
    }

</style>
<div id="calendarbody">
    <div id='calendar'></div>
</div>

<div id="dialog-modal" title=" Event Description">
    <p id="event-desc"></p>
    <div id="add-to-my-cal"></div>
    <p id="Successmes"></p>

</div>
4

2 回答 2

4

将其保存在 assets/javascripts 文件夹中并交叉检查您是否编写了“require_tree”。而已。

这将在每个页面上可用...

于 2013-04-16T08:19:06.593 回答
3

将它放在 assets/javascripts 文件夹中,并在 application.js 文件中要求它。如果您的 application.js 文件有 require_tree .,则无需再次要求您的 js 文件。

于 2013-04-16T06:26:23.510 回答