0

何かをフィードに投稿するフォームがあります。ユーザーがサインインしている場合はフィードに投稿してもらいたいのですが、サインインしていないときに送信を押した場合は、ログインモーダルを表示してもらいたいです。これが、このロジックのない私の現在のフォームです。これは基本的な form_for です - 特別なことは何もありません。

<%= form_for(@sub_opp) do |f| %>
  <div class="field">
    <%= f.label :sport, :class=>'form_label' %>
    <%= f.select :sport, ['Basketball', 'Beach Volleyball', 'Flag Football'] %>
  </div>
  <div class="field" id = "datetime_select">
    <%= f.label :Sub_Date, :class=>'form_label' %>
    <%= f.datetime_select :sub_time, :ampm => true, :minute_step => 15 %>
  </div>
  <div class="actions">
    <%= f.submit 'POST', :class=>"btn btn-success btn-large" %>
  </div>
<% end %>

概念的には、送信ボタンをクリックしたときに、これらの行に沿ってロジックを組み込みたいと考えています。

<% if current_user.present? %>
     Submit the form
   Otherwise
     <a href="#myModal" data-toggle="modal">

form_for でこれを行うことはできますか? ありがとう

4

1 に答える 1

0

簡単なif / thenステートメントでそれを理解しました。驚いたことに、私はこれを以前は考えていませんでした。ありがとう。

<% if current_user.present? %>
 <div class="field">
  <%= f.hidden_field :poster_user_id, :value => current_user.id %>
 </div>
 <div class="actions">
  <%= f.submit 'POST', :class=>"btn btn-success btn-large" %>
 </div>
<%else%>
 <div class="actions">
  <a href="#myModal" data-toggle="modal", class ="btn btn-success btn-large">POST</a>
 </div>
<%end%>
于 2013-11-02T16:25:40.317 に答える