Rails有助于预览文本区域

时间:2011-05-07 08:21:12

标签: javascript ruby-on-rails ruby ajax ruby-on-rails-3

我正在尝试为文本区域创建预览:

我试过这个:

我的控制器:

def preview
  post = Post.new(params[:post])
  render :text => post.body_html
end

def new
  @post = Post.new

  respond_to do |format|
    format.html # new.html.erb
    format.xml  { render :xml => @post }
  end
end

我的表格:

<%= form_for(@post) do |f| %>
  <% if @post.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@post.errors.count, "error") %> prohibited this post from being saved:</h2>

      <ul>
        <% @post.errors.full_messages.each do |msg| %>
          <li><%= msg %></li>
        <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :titel %><br />
    <%= f.text_field :titel %>
  </div>
  <div class="field">
    <%= f.label :body_html %><br />
    <%= f.text_area :body_html %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

我应该如何以body_html文本区域的形式进行预览? 我希望在body_html text_area中的某个类型的内容预览时立即进行预览。

1 个答案:

答案 0 :(得分:0)

用户是否在预览中输入要呈现的HTML?或者仅仅是文本?

我想无论如何,为预览添加一个div:

<div id='preview'></div>

然后使用jQuery:

var $html = $('#body_html');
$html.bind('change keyup',function(){
   $('#preview').html($html.val());
});