3 Stimmen

<a href="rails link_to controller action">rails link_to Controller-Aktion</a>

Ich zeige auf meiner Homepage 4 Bilder, und wenn ein Benutzer auf eines davon klickt, möchte ich einen Parameter in meiner Datenbank ändern.

In meiner Ansicht habe ich hinzugefügt

<%= link_to image_tag(friends.picture), {:controller => "static_pages", :action => "recomend", :id => friends.user_id} %>

In der Static_Pages_Controller habe ich

def recomend
  a = Friends.find_by_user_id(params[:id])
  a.update_attribute(:asked, true)
end

Und in der routes.rb

resources :static_pages do
 resources :recomend
end

aber wenn ich darauf klicke, aktualisiert der Server meine Startseite (warum?!) und in den Server-Logs sehe ich

Started GET "/auth/failure?action=recomend&controller=static_pages&id=101" for 127.0.0.1 at 2012-11-17 19:59:25 +0100.

6voto

Thanh Punkte 7705

Vielleicht erkennt es den Link nicht. Ich nehme an, dass friends.picture ein Link für ein Bild ist, daher kannst du Folgendes versuchen:

<%= link_to("", :controller => "static_pages", :action => "recomend", :id => friends.user_id) do %>
  <%= image_path(friends.picture) %>
<% end %>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X