如何保存ActionMailbox inbound HTML email和关于ActionText与ActiveStorage的附加
gi代码:
新建一个rails6
需要
gem 'image_processing'
gem 'whenever', require: false
rails action_text:install
(参考https://www.cnblogs.com/chentianwei/p/10515183.html ,
https://www.cnblogs.com/chentianwei/p/10655122.html )
rails webpacker:install:stimulus
yarn add tributejs
#app/javascript/packs/application.js
#...
+require("trix")
+require("@rails/actiontext")
rails g scaffold Post title:string
rails db:migrate后
#app/models/post.rb
# 这里给post记录挂上关联的actiontext和attachment。
class Post < ApplicationRecord
has_rich_text :body
has_many_attached :attachments
end
rails action_mailbox:install
所有入境的邮件都让posts处理。
#app/mailboxes/application_mailbox.rb
class ApplicationMailbox < ActionMailbox::Base
# routing /something/i => :somewhere
routing :all => :posts
end
rails g mailbox Posts
..
app/views/posts/_form.html.erb 修改代码,添加richtext,并根据post是否存在,添加删除和返回按钮。
<div class="field">
<%= form.label :title %>
<%= form.text_field :title, class: 'form-control' %>
</div> <div class="form-group">
<%= form.label :body %>
<%= form.rich_text_area :body, class: 'form-control' %>
</div> <div class="form-group">
<% if post.persisted? %>
<div class="float-right">
<%= link_to "Destroy", post, method: :delete, class:'text-danger', data: {confirm: "Are you sure?"}%>
</div>
<% end %> <%= form.submit class: 'btn btn-primary'%> <% if post.persisted? %>
<%= link_to "Cancel", post, class: "btn btn-link"%>
<% else %>
<%= link_to "Cancel", posts_path, class: "btn btn-link"%>
<% end %>
</div>
<% end %>
app/views/posts/index.html.erb 修改代码:
+ <td><%= post.body %></td>
app/views/posts/show.html.erb 修改代码:
<div class="page-header">
<%= link_to posts_path, class: 'btn btn-default' do %>
All Posts
<% end %>
<%= link_to edit_post_path(@post), class: 'btn btn-primary' do %>
Edit
<% end %>
<h1>Show post</h1>
</div> <dl class="dl-horizontal">
<dt>Title:</dt>
<dd><%= @post.title %></dd> <dt>Body:</dt>
<dd><%= @post.body %></dd> </dl> <% @post.attachments.each do |attachment| %>
<div><%= link_to attachment.filename, attachment %></div>
<% end %>
配置:
如何保存ActionMailbox inbound HTML email和关于ActionText与ActiveStorage的附加的更多相关文章
- salesforce零基础学习(九十三)Email To Case的简单实现
Salesforce提供了标准的功能来实现通过Email 创建 Case.我们可以设置指定的路由的地址,指定条件的邮件会自动生成到目标salesforce系统的Case数据.Salesforce提供了 ...
- 推荐几款我一直在用的chrome插件(下)
请先看:推荐几款我一直在用的chrome插件(上) 6. Pocket 可以很方便的保存文章.视频等供以后查看,即实现了“Read it later”功能.有了 Pocket,您可以将所有想下次读的内 ...
- 如何在ubuntu中启用SSH服务
如何在ubuntu14.04 中启用SSH服务 开篇科普: SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为 ...
- 怎样使用 GitHub?
作者:珊姗是个小太阳链接:https://www.zhihu.com/question/20070065/answer/79557687来源:知乎著作权归作者所有,转载请联系作者获得授权. 作为一个文 ...
- Http客户端识别的方法
Http用户识别的机制方法分为如下几种: 1).承载用户身份的HTTP首部 2).客户端IP地址跟踪,根据客户端IP地址进行识别 3).用户登录,用认证方式设别用户 4).使用胖URL,一种在UR ...
- Orchard创建自定义表单
本文链接:http://www.cnblogs.com/souther/p/4520130.html 主目录 自定义表单模块可以用来获取网站前台用户的信息.自定义表单需要与一个内容类型结合使用.它可以 ...
- ylbtech-dbs-m-QQ邮箱
ylbtech-dbs:ylbtech-dbs-m-QQ邮箱 -- =============================================-- DatabaseName:QQ-Em ...
- 转:怎么使用github(通俗易懂版)
转: https://www.zhihu.com/question/20070065 作者:珊姗是个小太阳链接:https://www.zhihu.com/question/20070065/ans ...
- 版本控制工具--GIT 基本命令(1)
一.安装GIT,在官网上下载安装即可(下面模拟环境是window7) 二.基本操作: 1.创建GIT库: ①先使用mkdir命令创建一个空目录,再使用git init将该目录变成GIT库,会在该目录下 ...
随机推荐
- 安装neutron
在控制节点上执行 controllerHost='controller' MYSQL_PASSWD='m4r!adbOP' RABBIT_PASSWD='0penstackRMQ' NOVA_PASS ...
- server 2008 R2 DHCP服务器部署
安装DHCP服务器 和上一篇文章中安装IIS 7.0一样,我们在安装DHCP服务器的时候也要用到Windows Server 2008的服务器安装器. 首先打开服务器管理器,点击开始菜单——>管 ...
- 菜鸟系列k8s——快速部署k8s集群
快速部署k8s集群 1. 安装Rancher Rancher是业界唯一完全开源的企业级容器管理平台,为企业用户提供在生产环境中落地使用容器所需的一切功能与组件. Rancher2.0基于Kuberne ...
- Centos7源码安装Apache和PHP
源码安装Apache 安装需要的依赖 yum -y install gcc autoconf automake make pcre pcre-devel openssl openssl-devel# ...
- git常用命令总结——覆盖日常开发全操作
前言:Git是目前世界上最先进的分布式版本控制系统,对的,最先进! 1. 版本库,又名仓库,repository 可理解成一个目录,目录里的所有文件都可被Git管理,Git可以跟踪每个文件的修改.删除 ...
- 【转帖】赤壁之战,曹操大败只因缺了Service Mesh
赤壁之战,曹操大败只因缺了Service Mesh 本文作者把微服务向 Service Mesh 的进化融入到了三国故事中,妙趣横生.故事比较长,大家慢慢看,精彩的在后边. http://develo ...
- 自动载入Python虚拟环境
自动载入Python虚拟环境 在安装jumpserver服务时发现可以使用autoenv来自动载入python虚拟环境,很好,非常好. $ cd /opt $ git clone https://gi ...
- oracle -- 查询执行计划,判读查询语句优劣
以oracle的scott账户:找到员工表中薪水大于本部门平均薪水的员工为例 多表查询方式: select e.empno, e.ename, e.sal, d.avgsal from emp e, ...
- 【LOJ】#3123. 「CTS2019 | CTSC2019」重复
LOJ3123 60pts 正难则反,熟练转成总方案数减掉每个片段都大于等于s的字典序的方案 按照一般的套路建出kmp上每个点加一个字符的转移边的图(注意这个图开始字母必须是nxt链中下一个相邻的字符 ...
- SpringBoot起飞系列-国际化(六)
一.前言 国际化这个功能可能我们不常用,但是在有需要的地方还是必须要上的,今天我们就来看一下怎么在我们的web开发中配置国际化,让我们的网站可以根据语言来展示不同的形式.本文接续上一篇SpringBo ...