Rails,当用户点击 button_to 时检查条件

Rails, check condition when user click button_to

我正在申请预订电影。每部电影都有一个 "book" 按钮,通常它只是指向另一个由控制器处理的页面。但是有什么办法可以这样做吗?如果用户之前没有登录,显示一个弹出窗口重定向到登录页面,否则直接到预订控制器?

我的电影控制器中的电流是:

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

我是否可以在此页面中检查条件,或者我必须在 BookingController 中检查?

您可以尝试以下方法-

<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>

link_to_if(current_user.blank?, "Book", login_path) 做

link_to "Book", {:controller => "booking",:action=>"new", :movie_session_id => movie.id , :方法=> :post}

结束

如果用户已登录,则重定向到登录页面 否则它将重定向到预订新表格