Rota do módulo no Rails com form_for (@object)
Eu tenho entidades de controlador com espaço para nome :: Clientes
class Entities::CustomersController < ApplicationController
...
end
e modelo ActiveRecord com espaço para nome:
class Entities::Customer < Entities::User
end
no meu arquivo routes.rb eu tenho:
resources :customers, module: :entities
O módulo: entity está lá porque eu não quero ter rotas como:
/ entidades / clientes se apenas:
/clientes.
O problema começa quando estou processando meu formulário:
<%= simple_form_for(@customer) do |f| %>
<%= f.input :email %>
<%= f.input :password %>
<%= f.input :name %>
<%= f.button :submit %>
<% end %>
Isso gera erro:método indefinido `entity_customer_path 'para Class ..
Portanto, o erro é que os trilhos pensam que o caminho correto é com entidades de prefixo.
As rotas de ancinho me dão:
Prefix Verb URI Pattern Controller#Action
customers GET /customers(.:format) entities/customers#index
POST /customers(.:format) entities/customers#create
new_customer GET /customers/new(.:format) entities/customers#new
edit_customer GET /customers/:id/edit(.:format) entities/customers#edit
customer GET /customers/:id(.:format) entities/customers#show
PATCH /customers/:id(.:format) entities/customers#update
PUT /customers/:id(.:format) entities/customers#update
DELETE /customers/:id(.:format) entities/customers#destroy