如何创建一个将在Rails中执行js代码的链接

时间:2013-04-01 06:34:40

标签: jquery ruby-on-rails ruby-on-rails-3

我想知道如何在视图中创建一个链接(index.html.erb),它将执行js / jquery代码。

我正在使用https://github.com/akzhan/jwysiwyg并希望隐藏编辑器,但不确定如何操作。

现在我正在做

编辑 -

index.html.erb

<%= link_to "Hide", "#", onclick: "$('#email_body').hide();" %>

index.js.erb的

$('#wysiwyg').wysiwyg('clear');

由于

2 个答案:

答案 0 :(得分:1)

您可以使用rails link_to helper:

link_to "Hide", "#", confirm: "Are you sure?", onclick: "$('#wysiwyg').wysiwyg('clear');"

更好的编码实践是将JavaScript代码与视图代码分开,例如:

link_to "Hide", "#", id: 'hide_editor'

然后,在一个单独的JavaScript文件中:

(function(){
  $('#hide_editor').on('click', function(){
    $('#wysiwyg').wysiwyg('clear');
  });
})();

然后在关闭BODY标记之前放置一个指向此JS的链接。

更新: 我可以看到,此插件不支持禁用,您可以通过隐藏容器来禁用它:$('#wysiwyg').hide();

$('#wysiwyg').wysiwyg('clear')清除编辑器的内容,正如我在文档中看到的那样。

UPDATE2:   @iCyborg,根据您的代码,这是一个工作示例:http://jsbin.com/esuyij/1/

UPDATE3:我查看了这个编辑器,发现它的定制选项不够灵活。我建议你看看其他编辑吗?例如,这里有一个阵容: http://www.jquery4u.com/plugins/html5-wysiwyg/

答案 1 :(得分:0)

尝试:

<a href="#" onclick="$('#wysiwyg').wysiwyg('clear');" id="NOT_SURE_WHAT_ID_TO_GIVE">Hide Editor Controls</a>