加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

形式 – Rails脚手架引用选择输入和实体标签与生成器

发布时间:2020-12-17 03:06:29 所属栏目:百科 来源:网络整理
导读:我正在尝试使用Rails 4来构建一个应用程序,我在使用外键,表单和实体名称时遇到了这个小问题.以下是一些细节: rails g scaffold user_type name:stringrails g scaffold user name:string pass:string user_type:references 正如您所看到的,user_type和用户
我正在尝试使用Rails 4来构建一个应用程序,我在使用外键,表单和实体名称时遇到了这个小问题.以下是一些细节:

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

正如您所看到的,user_type和用户之间存在简单的1:n关系.它在这种情况下产生了正确的脚手架.这是生成的表单的图像,

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

因此,我想从rails g scaffold进行的第一次更改是生成至少与选择输入的e 1:n关系.此外,我正在寻找一个涉及带有标签或其他东西的模型的解决方案.我需要一个最终生成这个的脚手架命令.

Witch表示Entity user_type的name属性具有“presentation label”.

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

并且可以提出一个解决方案,包括在每个CRUD中插入正确的代码,但我打算将其用于150表数据库.有帮助吗?

解决方法

您可以通过在应用程序根目录中的lib / templates / erb / scaffold文件夹中创建备用模板来替换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中阅读.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读