Ruby on rails 在名称空间的Rails脚手架中生成正确的路径
当您使用Ruby on rails 在名称空间的Rails脚手架中生成正确的路径,ruby-on-rails,namespaces,rails-generators,Ruby On Rails,Namespaces,Rails Generators,当您使用rails generate scaffold admin/user--model name=user或rails generate scaffold\u controller--model name=user时,它几乎以名称空间的方式生成所有内容。您可以使用控制器获得app/controllers/admin/users\u controller.rb,并且app/views/admin/users/中充满了您的视图 唯一不正确的是你的路径。您必须手动将对user\u path的引用替
rails generate scaffold admin/user--model name=user
或rails generate scaffold\u controller--model name=user
时,它几乎以名称空间的方式生成所有内容。您可以使用控制器获得app/controllers/admin/users\u controller.rb
,并且app/views/admin/users/
中充满了您的视图
唯一不正确的是你的路径。您必须手动将对user\u path
的引用替换为admin\u user\u path
等。这很乏味
有没有办法告诉Rails生成指向新名称空间的路径,而不是指向模型所在的名称空间
使用Rails 4。和Rails内置生成器,您无法使用 请参阅以了解原因:
<td><%%= link_to 'Show', <%= singular_table_name %> %></td>
<td><%%= link_to 'Edit', edit_<%= singular_table_name %>_path(<%= singular_table_name %>) %></td>
<td><%%= link_to 'Destroy', <%= singular_table_name %>, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
如您所见,它使用编辑路径
生成编辑路径,而不考虑名称间距。(和haml轨道)
如果你有时间和耐心的话,最好的办法就是在代码库上修正这个问题,并提出一个PR。这毕竟是开源的要点 如果你朝这个方向走,首先看看公开的问题,我没有深入探讨,但似乎关于这个问题正在进行不同的对话。喜欢或
或者你也可以使用现有的宝石,比如那些似乎支持命名的宝石