我在我的rails应用程序(https://github.com/jejacks0n/mercury.git,8fd7f73029)中使用Mercury wysiwyg编辑器,我无法处理它以保存文章更改并出现错误'Mercury无法保存到url'。 Google控制台提供以下日志:
ailed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/articles/3/mercury_update
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/articles/3/mercury_update
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:3000/articles/3/mercury_update
PUT http://localhost:3000/articles/3/mercury_update 404 (Not Found) jquery-1.7.js:8158
的routes.rb
mount Mercury::Engine => '/'
resources :articles do
member { post :mercury_update }
end
在 debug:false 之后插入mercury.js 代码,
onload: function() {
//Mercury.PageEditor.prototype.iframeSrc = function(url) { return '/testing'; }
Mercury.on('ready', function() {
var link = $('#mercury_iframe').contents().find('#edit_link');
Mercury.saveUrl = link.data('save-url');
link.hide();
});
Mercury.on('saved', function() {
window.location.href = window.location.href.replace(/\/editor\//i, '/');
});
},
show.html.erb
<span data-mercury="full" id="page_title"><%= raw @article.title %></span>
<div data-mercury="full" id="page_body"><%= raw @article.body %></div>
<%= link_to "Edit", "/editor" + request.path, id: "edit_link", data: {save_url: mercury_update_article_path(@article)} %>
articles_controller.rb
def mercury_update
article = Article.find(params[:id])
article.title = params[:content][:page_title][:value]
article.body = params[:content][:page_body][:value]
article.save!
render text: ""
end
布局文件中的mercury.html.erb 我有
<script type="text/javascript">
// Set to the url that you want to save any given page to, leave null for default handling.
var saveUrl = null;
// Instantiate the PageEditor
new Mercury.PageEditor(saveUrl, {
saveStyle: 'form', // 'form', or 'json' (default json)
saveMethod: null, // 'PUT', or 'POST', (create, vs. update -- default PUT)
visible: true // boolean - if the interface should start visible or not
});
</script>
我尝试了一切,但没有任何作用
答案 0 :(得分:0)
简单错字 - 在布局中我有条件渲染div id =“page_title”所以有两个标签,并且在第二种情况下忘记包含id =“page_title”