2016-03-26 16 views
0

klicken Ich mache eine Anwendung für die Buchung von Film. Für jeden Film gibt es einen "Buch" -Button, normalerweise wird er direkt auf eine andere Seite geleitet, die von einem Controller bedient wird. Aber gibt es einen Weg so zu tun? wenn sich der Benutzer vorher nicht anmeldet, ein Popup anzeigt, um zur Anmeldeseite umzuleiten, sonst direkt zur Buchungssteuerung?Rails, überprüfen Bedingung, wenn Benutzer auf button_to

Strom in meinem Film-Controller ist:

<td><%= button_to "Book", {:controller => "booking",:action=>"new", :movie_session_id => movie.id}, :method => :post %></td> 

es möglich ist, wenn ich Zustand in dieser Seite überprüfen oder ich habe in BookingController überprüfen?

+0

Ich denke ** Link_to ** wäre in diesem Fall angemessen. Sie können überprüfen, ob ** current_user ** vorhanden ist oder nicht, und dementsprechend können Sie verwenden, welcher link_to den Benutzer zur neuen Aktion von BookingController bringen oder den Benutzer zur Anmeldeseite führen soll. – dp7

Antwort

2

Sie können versuchen, die folgenden-

<td> 
<% if current_user %> 

    <%= link_to "Book", {:controller => "booking",:action=>"new", :movie_session_id => movie.id}, :method => :post %> 
<% else %> 
    <%= link_to "Book", login_path %> 
<% end %> 
</td> 
0

link_to_if (current_user.blank ?, "Buch", login_path) tun

link_to "Buch", {: controller => "Buchung" ,: action => "neu",: movie_session_id => movie.id,: method =>: post}

Ende

, wenn der Benutzer angemeldet ist, als es umleiten Seite sonst einzuloggen wird es umleiten um neues Formular zu buchen