首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以使用汞编辑器没有特定的页面控制器?

我可以使用汞编辑器没有特定的页面控制器?
EN

Stack Overflow用户
提问于 2012-01-04 10:04:51
回答 2查看 1.3K关注 0票数 0

我想使用水星编辑器(https://github.com/jejacks0n/mercury)在我的RoR应用程序的博客区域编辑文章。我没有任何网页模型,我只是想编辑文章,而不是所有网站的网页。

在我的routes.rb:

代码语言:javascript
复制
resources :posts do
    member { post :mercury_update }
end

在我的posts_controller.rb:

代码语言:javascript
复制
def mercury_update
    post = Post.find(params[:id])
    post.name = params[:content][:page_name][:value]
    post.content = params[:content][:page_content][:value]
    post.save!
    render text: ""
end

而且还做到了:

代码语言:javascript
复制
$(window).bind('mercury:ready', function() {
  var link = $('#mercury_iframe').contents().find('#edit_link');
  Mercury.saveURL = link.data('save-url');
  link.hide();
});

$(window).bind('mercury:saved', function() {
  window.location = window.location.href.replace(/\/editor\//i, '/');
});

并在mercury.html.erb中将保存样式更改为“窗体”。

即使按照这些步骤,当我试图在测试帖子中保存更改时,也会一次又一次地得到这个错误:

水星无法保存到url:http://localhost:3000/blog/test

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-22 16:03:59

在没有加载javascript时,我也遇到了同样的问题。我建议将javascript重写放在onload区域内的/app/assets/javascript/mercury.js中。下面是我的照片:

代码语言:javascript
复制
onload: function() {
$(window).bind('mercury:ready', function() {
  var link = $('#mercury_iframe').contents().find('#edit_link');
  Mercury.saveURL = link.data('save-url');
  link.hide();
});
},

另一个选项是将覆盖代码放入文件/app/assets/javascript/so_override.js中,如下所示:

代码语言:javascript
复制
$(window).bind('mercury:ready', function() {
  var link = $('#mercury_iframe').contents().find('#edit_link');
  Mercury.saveURL = link.data('save-url');
  link.hide();
});

我认为第二个解决方案更好,因为从汞更新中应用的任何更新都不会触及这一点。

票数 2
EN

Stack Overflow用户

发布于 2012-09-02 13:17:03

Mercury.saveUrl = link.data('save-url');

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8725004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档