我正在尝试在 Rails 6 上使用 ActionText 在 WYSIWYG Trix 和渲染内容中显示嵌入式视频。但是 ActionText 渲染器会过滤所有原始 html 代码并强制我使用 JS 来显示渲染内容中的 iframe,这在 Trix 中不起作用。
我按照 Basecamp 的开发人员之一给出的说明进行操作:https : //github.com/rails/actiontext/issues/37#issuecomment-451627370。第 1 步到第 3 步有效,但是当 ActionText 呈现我的部分时,它会过滤 iframe。
创建所见即所得的表格
= form_for(article, url: url, method: method) do |a|
= a.label :content
= a.rich_text_area :content, data: { controller: "articles", target: "articles.field", embeds_path: editorial_publication_embeds_path(@publication, format: :json) }
= a.submit submit_text, class:"btn full"
Run Code Online (Sandbox Code Playgroud)
添加嵌入功能的 Stimulus 控制器(急需重构)
= form_for(article, url: url, method: method) do |a|
= a.label :content
= a.rich_text_area :content, …Run Code Online (Sandbox Code Playgroud) 我最近开始在 React 中使用钩子,经常遇到这个问题:我创建了一个由所有组件使用的第一个大状态,但为了简单起见,组件的一些较小部分划分了这个状态并创建了自己的状态。
例如
import React, { useState } from "react";
const initialFilters = {
name: "",
code: ""
};
function Filter({ value, setFilters }) {
const [tempValue, setTempValue] = useState(value);
return (
<input
value={tempValue}
onChange={e => setTempValue(e.target.value)}
onBlur={() => setFilters(tempValue)}
/>
);
}
function App() {
const [filters, setFilters] = useState(initialFilters);
const agents = [
{ name: "bob", code: "123" },
{ name: "burger", code: "3123" },
{ name: "sponge", code: "34" }
];
return (
<div>
<label>Name filter</label> …Run Code Online (Sandbox Code Playgroud)