forms - Drupal 8/9 模块发布后没有刷新表单数据
问题描述
我有一个运行良好的 D8 模块。但我有一个问题。传感器数据存储在数据库中。在 D8 网站中,缓存被禁用,但所选数据不会更新。如果我使用“drush cr”则可以,但下一个选定的数据不会更新。可能是什么问题?代码很快:
#
# form for SQL SELECT
#
function buildForm()
//...
$form['date_from'] = [ '#type' => 'datetime', ... ];
$form['date_to'] = ...
$form['#cache'] = ['max-age' => 0];
/// ...
所以,我选择一个 date_from 和 date_to 并发布它就可以了。我回去更改 date_from、date_to 并发布它,然后它仍然保持前一个日期!在“drush cr”之后它再次工作......等等
它没有效果(settings.php): $settings['rebuild_access'] = TRUE;
谢谢,G。
解决方案
两者都有效。:)
在函数 buildForm() 中:
drupal_flush_all_caches();
// or
\Drupal::service("router.builder")->rebuild();
推荐阅读
- python - 使用 python dash 动态渲染选项卡
- assembly - 字大小的 OUT 到字节 IO 寄存器?在旧 VGA 代码中不使用指令设置序列控制器寄存器
- java - RuntimeException:执行 doInBackground() 时发生错误
- mysql - 将 mySQL 数据库从 Digital Ocean 复制到 AWS Aurora
- java - 如何使用 java 客户端 v3 在 couchbase 中存储空值文档?
- python - 从 json 对象中检索数据
- r - 如何有效地在 R 中使用条件进行大型组合?
- bash - 在 Bash 中为给定的一组 git 提交格式化输出
- intellij-idea - 在 IntelliJ IDE 中如何从 websphere 中卸载应用程序
- python - 使用变量列表时提高代码可读性