Ein Put benutzerdefinierte Aktion genehmigt wurde hinzugefügt, um unsere Rails 3.1.3 App in Sourcing-Controller für die Aktualisierung von 3 Parametern. Benutzerdefinierte Route wurde in routes.rb hinzugefügt und link_to wurde aufgerufen mit: method =>: put. Die Parameter werden jedoch nicht durch 'genehmigen' zurückgesetzt. HierWarum benutzerdefinierte Aktion in Schienen 3.1 nicht funktioniert?
ist die link_to in der Beschaffung index.html.erb:
<% @sourcings.each do |src| %>
...
<%= link_to 'Approve', approve_project_sourcing_path(@project, src), :method => :put if need_approve?(src) %>
<% end >
need_approve? ist eine Methode, die im Sourcing-Controller definiert ist, um zu sehen, ob das Sourcing genehmigt werden muss. Hier
ist der Rake-Routen Ausgang für Entlastung zu erteilen:
approve_project_sourcing PUT /projects/:project_id/sourcings/:id/approve(.:format) {:action=>"approve", :controller=>"sourcings"}
Hier wird die in der Beschaffung Controller genehmigen ist:
def approve
@project = Project.find(params[:project_id])
@sourcing = @project.sourcings.find(params[:id])
if vp_eng?
@sourcing.update_attributes!(:approved_by_vp_eng => true, :approve_vp_eng_id => session[:user_id],
:approve_date_vp_eng => Time.now, :as => :role_update)
elsif ceo?
@sourcing.update_attributes(:approved_by_ceo => true, :approve_ceo_id => session[:user_id],
:approve_date_ceo => Time.now, :as => :role_update)
end
redirect_to project_sourcing_path(@project, @sourcing)
end
Ist alles, was wir oben im Code verpaßt? Vielen Dank.
Welcher Teil der oben genannten funktioniert nicht genau? Welchen Fehler oder unerwartetes Verhalten erhalten Sie? – Martijn
Sie liefern uns viele unnötigen Code, aber nicht, welche Methoden 'vp_eng?' Und 'ceo?' Sind – MikDiet
@ sourcing.update_attributes funktioniert nicht. Es wurde ausgeführt, aber das: approved_by_vp_eng wurde nicht zurückgesetzt. – user938363