1

我想让 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

关于.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>
4

1 回答 1

2

好的,所以我基本上意识到我需要一个显示操作,以便我可以从模型中获取记录并保存到 @static_page 对象

我正在关注本指南:http ://railscasts.com/episodes/296-mercury-editor?autoplay=true

请注意,我必须将路线更改为使用链接中的路线(或类似路线),并且必须将它们放置在默认的水银路线之前,并且必须进行更改:

@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 中的类“容器”div,并将所有代码移至 show.html.erb,而不需要 about.html.erb。

于 2017-04-28T15:04:06.507 回答