将JS文件放在Rails中的位置?

时间:2013-04-16 06:14:52

标签: ruby-on-rails ruby ruby-on-rails-3.1

我想知道在轨道上将javascript文件放在ruby中的位置。

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

现在我的视图页面中有一些JavaScript代码是“my_event”。放置此JavaScript代码的位置?

我用Google搜索并找到了建议创建 my_event.js 文件并将此文件放在 views / useraccount 目录中的内容。

寻求宝贵的建议。

控制器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>

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

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

这将在每个页面上提供......