如何使用 Mercury 编辑器保存
How to save using the Mercury editor
我想在 Mercury 编辑器中使用保存功能,但无济于事。
我有一个模型来保存页面、标题和内容。
mercury.js:
$(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, '/');
});
static_pages_controller.rb:
def update
@static_page = StaticPage.find(params[:id])
@static_page.page = params[:page]
@static_page.title = params[:content][:aboutContainer][:value][:about_title][:value]
@static_page.content = params[:content][:aboutContainer][:value][:about_content][:value]
@static_page.save!
render plain: ''
end
about.html.erb:
<% provide(:title, 'About') %>
<div class="container" id="aboutContainer" data-mercury="full">
<h1 id="about_title"><%= raw @static_page.title %></h1>
<div class="col-sm-12">
<p id="description about_content"><%= raw @static_page.content %></p>
</div>
<p><%= link_to "Edit Page", "/editor" + request.path, id: "edit_link",
data: {save_url: static_page_update_path(@static_page)} %></p>
</div>
好的,所以我基本上意识到我需要一个显示动作,这样我就可以从模型中获取记录并保存到@static_page对象
我正在遵循这个指南:http://railscasts.com/episodes/296-mercury-editor?autoplay=true
请注意,我必须将我的路线更改为使用 link 中的路线(或与它们类似的路线),并且必须将它们放在默认 mercury 路线之前,并且必须更改:
@static_page.title = params[:content][:aboutContainer][:value][:about_title][:value]
@static_page.content = params[:content][:aboutContainer][:value][:about_content][:value]
至:
@static_page.title = params[:content][:about_title][:value]
@static_page.content = params[:content][:about_content][:value]
然后我删除了 about.html.erb 中的 class 'container' div 并将所有代码移动到不需要 about.html.erb 的 show.html.erb。
我想在 Mercury 编辑器中使用保存功能,但无济于事。
我有一个模型来保存页面、标题和内容。
mercury.js:
$(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, '/');
});
static_pages_controller.rb:
def update
@static_page = StaticPage.find(params[:id])
@static_page.page = params[:page]
@static_page.title = params[:content][:aboutContainer][:value][:about_title][:value]
@static_page.content = params[:content][:aboutContainer][:value][:about_content][:value]
@static_page.save!
render plain: ''
end
about.html.erb:
<% provide(:title, 'About') %>
<div class="container" id="aboutContainer" data-mercury="full">
<h1 id="about_title"><%= raw @static_page.title %></h1>
<div class="col-sm-12">
<p id="description about_content"><%= raw @static_page.content %></p>
</div>
<p><%= link_to "Edit Page", "/editor" + request.path, id: "edit_link",
data: {save_url: static_page_update_path(@static_page)} %></p>
</div>
好的,所以我基本上意识到我需要一个显示动作,这样我就可以从模型中获取记录并保存到@static_page对象
我正在遵循这个指南:http://railscasts.com/episodes/296-mercury-editor?autoplay=true
请注意,我必须将我的路线更改为使用 link 中的路线(或与它们类似的路线),并且必须将它们放在默认 mercury 路线之前,并且必须更改:
@static_page.title = params[:content][:aboutContainer][:value][:about_title][:value]
@static_page.content = params[:content][:aboutContainer][:value][:about_content][:value]
至:
@static_page.title = params[:content][:about_title][:value]
@static_page.content = params[:content][:about_content][:value]
然后我删除了 about.html.erb 中的 class 'container' div 并将所有代码移动到不需要 about.html.erb 的 show.html.erb。