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

时间:2016-03-26 07:12:11

标签: ruby-on-rails ruby-on-rails-4 button-to

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

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

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

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

2 个答案:

答案 0 :(得分:2)

您可以尝试以下方法 -

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

答案 1 :(得分:0)

link_to_if(current_user.blank?,&#34; Book&#34;,login_path)

link_to&#34; Book&#34;,{:controller =&gt; &#34;预订&#34;,:action =&gt;&#34; new&#34; ,: movie_session_id =&gt; movie.id,:method =&gt; :交}

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