TECH EXPERT 60日目

TECH::EXPERT

もはやTECHへ通う意味すら分からなくなりつつある。
てか就職活動もせずに課題こなしているのってどうなんだ?
課題終了後から転職活動したら隙間期間が1ヶ月程度は最低でもあくじゃん。

転職>課題だと思うんだが、その辺りをTECH EXPERT側もはき違えてる。
それに流される生徒も同様に愚かだと思う。
課題が終わらないと転職活動に移らせないとか、馬鹿じゃないの。
どうせ未経験なんだからポートフォリオなんてなくても通るところを受ければいいのに。

css

横並び

.pagination{
  position: relative;
  display:flex;
  &__left{
    position: absolute;
    left: 0;
  }
  &__center{
    max-width: 250px;
    margin: 0 auto;
  }
  &__right{
    position: absolute;
    right: 0;
  }

ruby

ランダム文字列

配列から.sample(数字)でランダムな文字を取得できる。

("a".."z").to_a.sample(5).join
("あ".."ん").to_a.sample(5).join

[*"あ".."ん"].sample(5).join

配列展開 *[] range展開

[*"a".."z"]
=> [a,b,c,,,,z]
["a".."z"]
=> ["a".."z"]

array=[a,b]
[array, b, c]
=>[[a,b], c]
[*array, c]
=>[[a, b, c]

rails

link_toにparamsを持たせる

リンクのパスに()で渡せば
/search?category_id=318
というふうにparamsへ渡せる。

= link_to category.name, search_items_path(category_id: category.id), class: "dropdown-btn"

link_to_unless

link_to_unless(condition, name, url, html_option{})
= link_to_unless current_page.last?, ">".html_safe, url, {class: "next page", rel: 'next', remote: remote}

pagy

kaminariより高速。ページネーションに使う。

ddnexus/pagy
The ultimate pagination ruby gem. Contribute to ddnexus/pagy development by creating an account on GitHub.

delete_if

配列から複数要素の削除に使う。
array.each do deleteだと削除によって内部ポインタの位置がずれるので、複数要素の削除はうまくいかない。

a = ['hoge', 'fuga'] # 元となるデータ
b = ['hoge', 'fuga'] # 削除対象の文字列のリスト
target.delete_if do |str|
  list.include?(str)
end

kaminari

page_entries_infoの表示内容を日本語化

en環境でのみしか対応していない。、
ja環境用のファイルを用意してやると出力をできる。
config/locales/en.ymlに以下を追記してやっても日本語で問題なく表記できる。

= page_entries_info @items, entry_name: 'item'
en:
  hello: "Hello world"

  helpers:
    page_entries_info:
      one_page:
        display_entries:
          zero: ""
          one: "<strong>1-1</strong>/1件中"
          other: "<strong>1-%{count}</strong>/%{count}件表示"
      more_pages:
        display_entries: "<strong>%{first}-%{last}</strong>/%{total}件表示"

vscode

フォルダ内検索

controll + shift + f

Jquery

selectタグ内の選ばれたoptionを取得

changeイベントを検知して、option:selectedで情報を抜く。

$("#price_id").on('change', function(e){
    var min_price = $('#price_id  option:selected').text()

val()

値の取得。引数に数を入れると値の代入。
JSだと.value = hogeな感じで代入する。

コメント