主要功能是新增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;
}
}

Rails6.0 Beta版本1: Action Text的简单使用的更多相关文章

  1. [转帖] 红帽8.0 beta版本发布 内核新版本 4.18

    Red Hat Enterprise Linux 8 Beta 现已发布! https://www.oschina.net/news/101870/red-hat-enterprise-linux-8 ...

  2. hasura graphql-engine v1.2.0 beta 版本

    hasura graphql-engine v1.2.0 提供了一个很不错的功能action,这个也是目前其他graphql 没有hasura 强大的 地方,使用action 我们可以更好的扩展has ...

  3. ionic@2.0 beta版本安装指南

    由于访问npm官方源下载ionic速度缓慢,淘宝提供了npm源,方便国内人士访问. 1.通过config命令 npm config set registry https://registry.npm. ...

  4. JuCheap V2.0响应式后台管理系统模板正式发布beta版本

    JuCheap V1.* 查看地址: http://blog.csdn.net/allenwdj/article/details/49155339 经过半年的努力,JuCheap后台通用响应式管理后台 ...

  5. 对Emlog 6.0 Beta的完整代码审计过程

    Emlog 6.0 beta版本,这可能是最后一篇关于PHP语言CMS的代码审计文章,此次将详细记录完整的审计过程. 文章基本上完整记录小东的对此CMS审计过程,或许显得繁琐,但代码审计的过程就是这样 ...

  6. ArcGIS earth 1.0 beta体验报告——给我一个按钮我将转动整个地球

    随着Esri研发中心的ArcGIS earth 1.0 beta版本的全新发布,声势浩大,很多人为之好奇静待观摩其阵容.抽出五分钟体验,良心用户,必得出炉一份体验报告了. -------------- ...

  7. 【Phylab2.0】Beta版本项目展示

    团队成员 冯炜韬(PM)http://www.cnblogs.com/toka 岳桐宇(后端)http://www.cnblogs.com/mycraftmw 杨子琛(测试&LaTeX)htt ...

  8. 团队作业八——第二次团队冲刺(Beta版本)第4天

    团队作业八--第二次团队冲刺(Beta版本)第4天 一.每个人的工作 (1) 昨天已完成的工作 做一下用户注册的功能和登录功能. (2) 今天计划完成的工作 完成界面跳转 (3) 工作中遇到的困难 界 ...

  9. 单实例dg软件从10.2.0.4版本安装至10.2.0.5.12

    DG环境搭建需求,因此安装与主库相同的软件版本 1.主库软件版本10.2.0.5.12 2dg环境提供的是全新的10.2.0.4.0 3.安装步骤,安装10.2.0.5 静默安装 psu安装10.2. ...

随机推荐

  1. [redis] hiredis-vip 简单使用

    redis的C语言client,有几个:https://redis.io/clients#c 支持cluster的只有一个唯品会的版本:https://github.com/vipshop/hired ...

  2. VBA语法总结

    为了控制Excel,学了些VBA,总结下语法,下文分为五部分: 一.代码组织 二.常用数据类型 三.运算符 四.控制流 五.常用内置函数 一.代码组织 1.能写代码的地方有{模块,类模块}. 2.代码 ...

  3. Python递归函数介绍

    一.递归的定义 1.什么是递归:在一个函数里在调用这个函数本身 2.最大递归层数做了一个限制:997,但是也可以自己限制 # 验证 997 def foo(n): print(n) n+=1 foo( ...

  4. STL库学习笔记(待补充QAQ

    几百年前就说要学STL了然后现在还没动呢QAQ总算还是克服了懒癌决定学下QAQ 首先港下有哪几个vector listset map stack queue,大概就这些? 然后因为有几个基本操作每个都 ...

  5. 关于MySQL慢日志,你想知道的都在这

    关于MySQL慢日志,你想知道的都在这 https://mp.weixin.qq.com/s/Ifbq0Dk13SO3WVghqWVUbA 作者介绍邹鹏,现任职于腾讯云数据库团队,负责腾讯云数据库My ...

  6. 关于什么是SpringMVC,和SpringMVC基于xml配置、注解配置、纯注解配置

    首先我们先要了解一下,什么是SpringMVC? SpringMVC是Spring框架内置的MVC的实现.SpringMVC就是一个Spring内置的MVC子框架,也就是说SpringMVC的相关包都 ...

  7. C#基础加强(8)之委托和事件

    委托 简介 委托是一种可以声明出指向方法的变量的数据类型. 声明委托的方式 格式: delegate <返回值类型> 委托类型名(参数) ,例如: delegate void MyDel( ...

  8. python数据结构-如何统计序列中元素的频度

    如何统计序列中元素的频度 问题举例 如何找出随机序列[1, 5, 6, 5, 3, 2, 1, 0, 6, 1, 6]中出现频度最高的3个元素? 如何统计某篇英文文章中词频最高的5个单词? 将序列转换 ...

  9. PHP日历的算法

    <?php if (function_exists('date_default_timezone_set')) { date_default_timezone_set('Asia/Chongqi ...

  10. Android Studio 添加已经移除的Module

    Android Studio 删除Module时,需要先在Project Structure中点击“-”来移除,此时小手机图标消失,但是这个时候Module并没有在硬盘中删除,只是和这个Project ...