gpt4 book ai didi

forms - 带有选择输入和带有生成器的实体标签的 Rails Scaffold 引用

转载 作者:行者123 更新时间:2023-12-05 00:26:58 24 4
gpt4 key购买 nike

我正在尝试使用 Rails 4 搭建一个应用程序,但我在前键、表单和实体名称方面遇到了这个小问题。以下是一些细节:

rails g scaffold user_type name:string
rails g scaffold user name:string pass:string user_type:references

如您所见, user_type 之间存在简单的 1:n 关系。和一个 user .在这种情况下,它会生成正确的脚手架。这是生成的表单的图像,

enter image description here

但是我想要生成器的结果是下一个形式,

enter image description here

所以我想要的第一个变化来自 rails g scaffold是生成与选择输入至少为 e 1:n 的关系。而且我正在寻找一种解决方案,该解决方案涉及带有 label 的模型。或者其他的东西。我需要一个 scaffold command最终产生这个。

enter image description here

女巫的意思是实体 user_type有他的 name属性有一个“演示标签”。

我知道我可以从头开始创建一个生成器,但我相信我在命令行中缺少一些选项,因为更改实际上非常小。

并且可以提出一个解决方案,涉及在每个 CRUD 中插入正确的代码,但我计划将其用于 150 个表的数据库中。有什么帮助吗?

最佳答案

您可以通过在 lib/templates/erb/scaffold 中创建替代模板来替换脚手架生成器使用的模板。应用程序根目录中的文件夹。

在这种情况下,您需要复制原始 _form.html.erb模板并用 collection_select 替换文本字段:

  <%- if attribute.reference? -%>
<%%= f.label :<%= attribute.column_name %> %><br>
- <%%= f.<%= attribute.field_type %> :<%= attribute.column_name %> %>
+ <%%= f.collection_select :<%= attribute.column_name %>, <%= attribute.name.camelize %>.all, :id, :name, prompt: true %>
<%- else -%>

更多详情可以阅读 my post on the subject .

关于forms - 带有选择输入和带有生成器的实体标签的 Rails Scaffold 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21486137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com