rails g で使われるテンプレートをSlimで作成する際の <%% 部分の記載方法

こんにちは。
この記事では表題の通りrails gの時に使用されるテンプレートを、
Slimでかいた時に<%%部分の記載方法でつまり、またWEBで適切な記事が見つけられなかったので、備忘録として残しておく。

基本のどのようにしてrails g時に使われるテンプレートをSlimで作成するかについては、
以下の記事を参照してください。
RailsのScaffoldのテンプレートをカスタマイズする – Qiita

結論から申し上げると”そのまま”書けばよかったということなのだが、
<%% をそのまま書くわけではない。以下、解説します。

Rails5 標準のrails g用のテンプレートの中にERBで以下のように記載されている部分がある。



<table>
  
<thead>

<tr>
<% attributes.reject(&:password_digest?).each do |attribute| -%>
      
<th><%= attribute.human_name %></th>

<% end -%>
      
<th colspan="3"></th>

    </tr>

  </thead>


<tbody>
    <%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
      
<tr>
<% attributes.reject(&:password_digest?).each do |attribute| -%>
        
<td><%%= <%= singular_table_name %>.<%= attribute.name %> %></td>

<% end -%>
        
<td><%%= link_to 'Show', <%= singular_table_name %> %></td>


<td><%%= link_to 'Edit', edit_<%= singular_table_name %>_path(<%= singular_table_name %>) %></td>


<td><%%= link_to 'Destroy', <%= singular_table_name %>, method: :delete, data: { confirm: 'Are you sure?' } %></td>

      </tr>

    <%% end %>
  </tbody>

</table>



<%% だらけである。
また <%% %><%= %> がネストされていたりする。
私が使った ERBtoSlim のコンバーターでは文字列に変換されてしまう。


table
  thead
    tr
      - attributes.reject(&:password_digest?).each do |attribute|
        th= attribute.human_name
      th colspan="3" 
  tbody
    | \% @%= plural_table_name %&gt;.each do |#{singular_table_name}| %&gt;
    tr
      - attributes.reject(:password_digest?).each do |attribute|
        td
          | \%= %= singular_table_name %&gt;.#{attribute.name} %&gt;
      td %= link_to 'Show', %= singular_table_name %&gt; %&gt;
      td
        | \%= link_to 'Edit', edit_%= singular_table_name %&gt;_path(#{singular_table_name}) %&gt;
      td %= link_to 'Destroy', %= singular_table_name %&gt;, method: :delete, data:   confirm: 'Are you sure?'   %&gt;
    | \% end %&gt;

早速解決方法を。
単純に <%%- <%%== とし、
ネストされている <% %><%= %> はそのまま記載すると、 rails g で正常にテンプレートを生成してくれる。


table
  thead
    tr
      - attributes.reject(&:password_digest?).each do |attribute|
        th= attribute.human_name
        th colspan="3" 
  tbody
    - @<%= plural_table_name %>.each do |#{singular_table_name}| %>
      tr
        - attributes.reject(:password_digest?).each do |attribute|
          td
            = <%= singular_table_name %>.#{attribute.name} %>
        td <%= link_to 'Show', <%= singular_table_name %> %>
        td
          = link_to 'Edit', edit_<%= singular_table_name %>_path(#{singular_table_name}) %>
        td <%= link_to 'Destroy', <%= singular_table_name %>, method: :delete, data:   confirm: 'Are you sure?'   %>

エディター上では、シンタックスエラーとして扱われて、
エラーのハイライトが出たりすると思われるが、これで正常に動作する。
RubyMineを使っているが、警告が出ている。

以上

Google Drive の画像の直リンクURLを取得する – ありふぁぼ

概要

KENGOです。
今回は、タイトルの「Google Drive の画像直リンクを取得する方法」をご紹介したいと思います。

個人的にパソコン内がすぐごちゃごちゃになるタイプなので、
その時しか使わないような、WEBスクリーンショットなどは、一時的にでもローカルに落としたくない。

よく使うスクショ拡張機能などは、直接Google Driveにデータを渡せるものも多い。
なので、直接呼び出せると個人的には非常に便利だ。

GitHub や Qiita に手軽に画像を載せたい時にも Google Drive を利用できる。

活用シーンはいろいろあると思いますので、覚えておいて損はない。

方法

ドライブ上で画像を表示したURLや共有リンクはこのようになっている。

https://drive.google.com/drive/folders/{ID}
# {ID} 部分にはファイル個別の文字列が入る

これでは、imgタグなどで表示されません。
しかし、以下のように書き換えると表示されます。


http://drive.google.com/uc?export=view&id={ID}

このアドレスで、imgタグでも呼び出せますし、
MarkDownでも呼び出すことができます。

ぜひ、ご活用ください! それでは、今回はここまで。

Google Code Prettify を Monokai スタイルにしてみました。

こんばんは。
前回に続きましてKENGOです。

昨日、1記事目を作成している時に、
いろいろとコード記述などの装飾が不足しているなと思い、
作成いいたしました。

まずは、コード記述エリアの表示。

Google Code Prettifyが良いなと思い、
使えるようにしてみましたが、いまいち既存のカラーリングでは
満足できなかったので、大好きな Monokai をベースに
カラーリングを設定し、さらにWhitespaceの・表示や
インデントラインを表示させるように調整しました。

cssの編集だけでは、できなかったので、
一部JqueryでDOMを編集もしています。

そして、できたのが以下です。

< ?prettify?>

var Account;

Account = function(customer, cart) {
  var _this = this;
  this.customer = customer;
  this.cart = cart;
  return $('.shopping_cart').bind('click', function(event) {
    return _this.customer.purchase(_this.cart);
  });
};

続きを読む Google Code Prettify を Monokai スタイルにしてみました。