从Rails控制器调用JavaScript函数

时间:2012-06-22 20:09:24

标签: javascript ruby-on-rails controllers

我正在处理的项目将几个页面(例如登录页面和注册表单)呈现为模式,这是通过为这些链接提供类.modal来实现的,因此下面的JavaScript会触发:

$('.modal').click(function(){
    var url = this.href;
    var dialog = $('<div id="modal" style="display:none"></div>').prepend('#barhappy_container');
    dialog.load(url, function(){
        dialog.dialog({
            modal: true,
            draggable: false,
            position: 'center',
            dialogClass: 'no-title',
            width: 'auto',
/*          height: 'auto', */
            resizable: false,
            open: function(){
                $.getScript('/assets/modal/in-modal-open.js');
            },
            close: function(event, ui){
                dialog.remove();
            }
        });
    });     
    return false;
});

但是,我现在需要一个由Controller呈现的页面以相同的方式显示,但是没有可以给出类.modal的点击链接。

那么,有没有办法从我的Rails控制器调用这个JavaScript函数并传递适当的参数?

1 个答案:

答案 0 :(得分:2)

想出来了!

我在我的contact_messages视图文件夹中添加了一个名为create.js.erb的js文件。

然后我让我的Contact Messages控制器使用respond_to块激活该js文件。

在js文件中,我调用了模态函数的变体......