2016-10-25 1 views
-1

routes

put '/happy/node/:node_id', to: 'nodes#happy', as: :happy 

contrôleur de noeud

def happy 
    @node = Node.find(params[:node_id]) 
     if @node.update_attributes(:node_status => "happy", 
           :location_id => params[:location_id], 
           :hostname => params[:hostname]) 
     redirect_to node_url 
     end 
end 

vue - forme

<%= form_for(@node, url: happy_path(@node), method: :patch, do |f| %> 
<%= f.label :location_id, "Location" %> 
<%= collection_select :location_id, Location.order(:name), :id, :name, :prompt => "Select Location" %> 
<%= f.submit "Save Changes" %> 

Je suis en train de mettre à jour le noeud formulaire en utilisant une action personnalisée.Lorsque j'ai essayé cela, il a échoué lamentablement.Je serai extrêmement reconnaissant pour votre aide.Aucun résultat de route [Patch] «/content/node/10003

Répondre

0

Dans vos itinéraires vous utilisez mis, votre méthode doit également être mis:

<%= form_for(@node, url: happy_path(@node), method: :put, do |f| %> 
+0

J'ai aussi essayé d'inclure les deux, mais le formulaire ne sera pas soumis. – nordic

+0

Qu'est-ce qui se trouve sur vos journaux lors de la soumission? Et je me demandais juste pourquoi vous avez besoin de cette partie 'url: happy_path (@node)'. – araratan

+0

Aucun gabarit trouvé pour NodesController # content, tête de rendu: no_content – nordic

0

Vous aurez besoin d'ajouter une route patch, si vous souhaitez continuer à utiliser PATCH:

patch '/happy/node/:node_id', to: 'nodes#happy', as: :happy 
+0

Donc j'ajouterais un correctif à la route et garderais le patch de la méthode sur le formulaire? – nordic

+0

@nordic Oui, cela devrait fonctionner – pdoherty926

+0

J'ai ajouté un correctif à mes routes et mon formulaire et je reçois 'Aucune correspondance de route [put]' – nordic