我找了个 gem,名为rails_kindeditor
,
但是尝试获取它的值的时候,无论是用 form 还是尝试用 jquery 去获取都不行。
查看了它生成后的 html 源代码,还是没有找到方法。
请有使用过的人指点一下!!
还是自己解决了,在此分享一下 这是我的 form 表单
<title><%= content_for :title do %>新建文章<% end %></title>
<%= javascript_include_tag 'kindeditor' %>
<%= stylesheet_link_tag 'web/article/new' %>
<%= javascript_include_tag '/plugin/jquery.form.js' %>
<script type="text/javascript" charset="utf-8">
$(function(){
KindEditor.ready(function(K){
var contentEditor = K.create("textarea[name='content']",{
height:400,
width:"100%",
allowFileManager:true,
// 文件上传提交路径
uploadJson:"/kindeditor/upload",
fileManagerJson:"/kindeditor/filemanager",
// 下面这两行最重要了,就是用来同步数据的
afterCreate: function(){ this.sync(); },
afterBlur: function(){ this.sync(); }
});
});
});
</script>
<div class='placeholder'></div>
<div class='page-container'>
<form id='article'>
<div class='title'><input name='title' placeholder='请填写标题...' /></div>
<!--<div class='content'><%= kindeditor_tag :content, '', :height=>400 %></div>-->
<div class='content'><textarea name='content'></textarea></div>
<div class='submit'><input type='submit' value="保存"/></div>
</form>
<!--<%= form_for @article, { :url => "/web/article", :method => :post } do |f| %>-->
<!-- <div class='title'><%= f.text_field :title, :class=>"title" %></div>-->
<!-- <div class='content'><%= f.kindeditor :content, :height=>400 %></div>-->
<!-- <div class='submit'><%= f.submit '保存' %></div>-->
<!--<% end %>-->
</div>
取得数据的方法,自己可在 console 里试试
$("textarea[name='content']").val();
在显示内容时又遇到了问题,直接这样
<div class='content'><%= @user1_safe %></div>
这样就能显示文章的内容啦,嘿嘿
我已经对代码进行了更新,可以满足你的需求,详见: https://github.com/Macrow/rails_kindeditor/issues/23
rails_kindeditor 的附件部分做的不好,不喜欢 另外放弃 form_helper 不是明智的选择,我修改了那个 gem 的 helper https://github.com/jasl/start_up/blob/master/lib/form_helpers/kindeditor.rb 同时在页面需要引入https://github.com/jasl/start_up/blob/master/app/assets/javascripts/kindeditor.js.coffee
<%- @comment ||= @post.comments.build -%>
<%= form_for([@comment.commentable, @comment]) do |f| -%>
<fieldset>
<legend>Comment post</legend>
<div class="row row-grid">
<div class="span8 offset2">
<%= print_error_messages @comment -%>
</div>
</div>
<div class="control-group">
<%= f.label :body, :class => 'control-label' -%>
<div class="controls">
<%= f.kindeditor :body, :height => 100, :items => %w(fontname fontsize | emoticons image link) %>
</div>
</div>
<div class="form-actions" >
<%= f.submit :class => 'btn btn-primary' -%>
</div>
</fieldset>
<% end %>
@qinjker 你好,ajax 本身和 rails 没关系,你要用 ajax 加载 kindeditor 是没有问题的,kindeditor 官方文档也有说明,在 turbolinks 下加载实际也是属于动态加载,可以参考文档里 turbolinks 下加载的说明。
或者你把加载的情况进行说明。