0

J'ai un link_to sur indice refinancementsappelé vue 'show' quand id est dans un autre contrôleur

<%= link_to "View details", refinancing_path(@refinancing) %> 

Ce refinancing_path (@refinancing) est refinancements/6 par exemple

Mon itinéraire est simple:

resources :refinancings, except: :destroy 

Et mon contrôleur est:

def show 
    @refinancing = Refinancing.find(params[:id]) 
    # THIS GET REFINANCING THROUGH HISTORIC REFINANCING 
    @hist_refin = HistoricRefinancing.consult_historic_refinancing(params[:refinancing_id]) 
    end 

Ce modèle est de Refinancement historique

class HistoricRefinancing < ActiveRecord::Base 
    belongs_to :authorization 
    has_many :refinancings 

    scope :consult_historic_refinancing, -> (refinancing_id) { HistoricRefinancing.where("refinancing_id = ? ", "#{refinancing_id}") } 

Tout ce que je besoin est que dans mon index de vue quand cliquez sur le détail show link_to de refinancement pour cette autorisation. Je reçois cette erreur sur un clic:

No route matches {:action=>"show", :controller=>"refinancings", :id=>nil} missing required keys: [:id] 

Bien sûr, il n'y a pas d'identité, mais comment l'obtenir? Aidez-moi, s'il vous plaît!

MISE À JOUR ######################################

Mon Voir le spectacle est ....

<h3>Details of refinancing</h3> 

<p> 
    <strong>Name:</strong> 
    <%= @refinancing.employee.person.name %> 
</p> 

<p> 
    <strong>Period:</strong> 
    <%= @refinancing.period.strftime("%m/%Y") %> 
</p> 

<p> 
    <strong>Value</strong> 
    <%= number_to_currency @refinancing.value %> 
</p> 

... Juste ce

+0

Pourriez-vous mettre à jour avec votre point de vue en détail? Il y a comme une erreur dans la façon dont vous définissez la vue! –

+0

ok, je vais mettre à jour –

+0

Sons comme vous pourriez essayer de lier à un objet non enregistré (ceux qui ont nil id) –

Répondre

1

Comme votre commentaire, la logique devrait être:

<% authotization.historic_refinancing.refinancings.each do |refinancing| %> 
    <%= link_to "View details", refinancing_path(refinancing) %> 
<% end %> 
+0

Désolé, mon code est en portugais, donc je le traduis, et l'écriture ici, j'oublie cela ... mais mes routes sont refinancings et RefinancingsController, l'erreur est autre = ( –

+0

je vois, donc l'indice est: @ refinancement peut être nul.Essayer de vérifier? –

+0

Oui, est nul ... mais J'ai l'ID –