Voglio avere coerenza nella convenzione di denominazione dei miei percorsi. Il parametro predefinito è :id
per qualsiasi risorsa. Tuttavia, se ne annida un'altra risorsa, il parametro della risorsa padre cambia in :parent_id
. mio percorso assomiglia:Parametri di override in percorsi nidificati
resources :users do
resources :projects do
resources :issues
end
end
Per il modello utente che genererebbe url come :id
, per il progetto URL verrà :user_id/:id
e per le questioni URL sarà :user_id/:project_id/:id
. Ho cercato di sovraccaricare il parametro predefinito in base this
resources :users, param: :user_id do
resources :projects, param: :project_id do
resources :issues, param: :issue_id
end
end
Esso genera url del tipo: :user_user_id/:project_project_id/:issue_id
. Dal momento che sto scavalcando, vorrei che quell'aggiunta predefinita della risorsa genitore fosse disattivata. Voglio che i miei percorsi appaiano come :user_id/:project_id/:issue_id
e voglio che sia coerente per tutti i modelli. cioè il progetto dovrebbe essere mappato a :user_id/:project_id
.
Spiacente Haider, ma aggiunge solo una chiave per gli elenchi di parametri: 'Parametri: {" chiave "=>: id_progetto," id_utente "=>" addie "," id "= > "new_project"} ' – sonalkr132
@ sonalkr132 si desidera convertire'/customers /: customer_id/projects /: project_id/issues' in '/: user_user_id /: project_project_id /: issue_id' ???? –
No! Lo voglio in un altro modo. cioè ': user_user_id /: project_project_id /: issue_id' a': user_id /: project_id /: issue_id'. L'override del param genera il primo. – sonalkr132