Dan*_*ans 4 forms crud generator scaffolding ruby-on-rails-4
我正在尝试使用Rails 4来构建一个应用程序,我在使用外键,表单和实体名称时遇到了这个小问题.以下是一些细节:
rails g scaffold user_type name:string
rails g scaffold user name:string pass:string user_type:references
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,a user_type和a 之间有一个简单的关系1:n user.它在这种情况下产生了正确的脚手架.这是生成的表单的图像,

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

所以我想要的第一个改变rails g scaffold就是生成至少与选择输入的e 1:n关系.此外,我正在寻找一个涉及模型的解决方案label.我需要一个scaffold command最终产生这个.

Witch意味着实体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 -%>
Run Code Online (Sandbox Code Playgroud)
更多细节可以在我关于这个主题的帖子中阅读.
| 归档时间: |
|
| 查看次数: |
3703 次 |
| 最近记录: |