kosen-venture/RocketAnswer

View on GitHub
app/views/answers/show.html.erb

Summary

Maintainability
Test Coverage
<%= content_for :title do %><%= @answer.full_name %>の解答<% end %>

<% breadcrumb @answer %>

<div class="page-header">
  <h2>
    <i class="fa fa-file-text-o"></i><%= @answer.full_name %>の解答
    <span class="badge"><i class="fa fa-folder-o"></i> <%= @answer.stocked_count %>ストック</span>

  </h2>

  <div class="row">
    <div class="col-md-12">
      <% if @answer.exam_url.present? %>
        <div class="pull-left">
          <h4>
            <%=  link_to "過去問" , @answer.exam_url, target: "_blank" %>
          </h4>
        </div>
      <% end %>
      <div class="pull-right">
        <h4>
          <span class="label label-primary">
            <i class="fa fa-user"></i>
            <%= @answer.user.try(:nickname) %>
          </span>
        </h4>

        <% if @answer.stocked?(current_user)%>
          <%= link_to stock_answer_path(@answer),
            class: 'btn btn-sm', method: :post do %>
            <i class="fa fa-star"></i>
            ストックを解除
          <% end %>
        <% else %>
          <%= link_to stock_answer_path(@answer),
            class: 'btn btn-sm', method: :post do %>
            <i class="fa fa-star-o"></i>
            ストックに登録
            <% end %>
        <% end %>

        <% if can? :update, @answer %>
          <%= link_to edit_answer_path(@answer),
            class: 'btn btn-success btn-sm' do %>
            <i class="fa fa-pencil"></i>
            編集
          <% end %>
        <% end %>

        <% if can? :delete, @answer %>
          <%= link_to answer_path(@answer),
            class: 'btn btn-danger btn-sm',
            method: :delete, data: { confirm: '削除してよろしいですか?' } do %>
            <i class="fa fa-trash-o"></i>
            削除
          <% end %>
        <% end %>
      </div>
    </div>
  </div>
</div>

<!-- ビューア -->
<%= render partial: 'viewer' %>

<% if can? :update, @answer %>
  <!-- アップロードフォーム -->
  <%= render partial: 'upload_form' %>
<% end %>

<hr>

<h2>コメント</h2>
<p>※TeX数式とMarkdown記法で記述できます</p>
<small>
※インライン数式は\$ \$で、ディスプレイ数式の場合は\$\$ \$\$で囲んでください。改行は\\\ですることが出来ます。<br>
</small>
<div class="comments">
  <% @answer.comments.each do |comment| %>
    <div class="panel panel-default">
      <div class="panel-heading">
        <h3 class="panel-title"><%= comment.user.nickname %> さん</h3>
        <div class="row">
          <div class="col-md-12">
            <div class="pull-right">
              <% if can? :update, comment %>
                <%= button_tag class: 'btn btn-default btn-xs', onclick: 'editComment(this);' do %>
                  <%= fa_icon 'pencil-square-o', text: '編集' %>
                <% end %>
              <% end %>
              <% if can? :delete, comment %>
                <%= link_to answer_comment_path(@answer, comment),
                  class: 'btn btn-danger btn-xs',
                  method: :delete, data: { confirm: '削除してよろしいですか?' } do %>
                  <i class="fa fa-trash-o"></i> 削除
                <% end %>
              <% end %>
            </div>
          </div>
        </div>
      </div>
      <div class="panel-body" data-content="<%= Base64.encode64(markdown(comment.content)) %>" data-content-raw="<%= Base64.encode64(comment.content) %>" data-comment-id="<%= comment.id %>"><%= markdown(comment.content) %></div>
    </div>
  <% end %>
</div>
<%= render partial: 'comments/form' %>

<script>
  var answer_id = <%= @answer.id %>;
</script>