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}
结束
如果用户已登录,则重定向到登录页面
否则它将重定向到预订新表格
我正在申请预订电影。每部电影都有一个 "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}
结束
如果用户已登录,则重定向到登录页面 否则它将重定向到预订新表格