zoukankan      html  css  js  c++  java
  • Rails6.0 Beta版本1: ActionText的简单使用

    主要功能是新增2个主要的框架Mailbox和action Text.

    和2个重要的可扩展的升级: multiple databases support和parallel testing.

    Action Text

    https://edgeguides.rubyonrails.org/action_text_overview.html

    Trix,一个文本编辑器。可以改变links,quotes,lists,嵌套图片,galleries等等的样式。

    Rails6增加了这个编辑器。

    这个由Trix editor生成的编辑器text content被保存在它自己的RichText model。和现存的ActiveRecord model关联。

    使用Active Storage, 任何嵌套的图片自动储存,并关联着RichText model。

    Rails视频案例:

    https://gorails.com/episodes/how-to-use-action-text?autoplay=1

    先下载rails6.0.beta1。

    然后:

    rails new -m template.rb mentions或者下载上面连接的源代码。这个app名字是mentions.

    然后安装stimulus,用来建立app mention JS functionality,  并使用serbs tribute j/s 库来产生自动的drop-down功能 .

    cd mentions
    rails webpacker:install:stimulus
    rails active_storage:install
    rails action_text:install

    最后rails db:migrate, 产生几个model。

    rails generate scaffold Post title:string

    再rails db:migrate生产model

    打开post.rb文件:

    class Post < ApplicationRecord
      has_rich_text :body
    end

    然后在app/views/posts/_form.html.erb:

    <%= form_with(model: post, local: true) do |form| %>
      ...
      <div class="form-group">
        <%= form.label :body %>
        <%= form.rich_text_area :body, class: 'form-control'%>
      </div>
      ...
    <% end %>

    最后rails server, 打开localhost:3000/posts

    但是不能使用图标的模式css:需要在app/assets/stylesheets/application.scss内进口:

    //= require actiontext

    然后就可以使用

    <%= @post.body %>
    //为了接受rich text content,要加上参数白名单

     

    还可以拖拉图片。因为使用了stimulus。

    但图片不会正确显示,需要下载gem 'image_processing'

    bundle install后重启rails s,就可以看到保存的图片了。

    如果图片太大,输入框会被超出,这时需要修改css样式:

    // app/assets/stylesheets/actiontext.scss
    //除了默认的样式,还可以使用其他的样式。这个连接提供了大量样式contents of that file. 可以基于此自定义。
    trix-editor {
      &.form-control {
        height: auto;
      }
    }

  • 相关阅读:
    js sort方法根据数组中对象的某一个属性值进行排序
    JS中数据类型转换
    DOM盒子模型常用属性client,offset和scroll
    Vue之render渲染函数和JSX的应用
    北漂程序员的真实奋斗史:有辛酸,更有成长
    比高房价更可怕的是,35岁以后你还能干嘛?
    Vue组件间通信方式
    根据对象的某个属性名的值从新排序
    JS隐藏号码中间4位
    javascript之揭示模式
  • 原文地址:https://www.cnblogs.com/chentianwei/p/10515183.html
Copyright © 2011-2022 走看看