ECのウェブ担当者のメモ

ECサイトを運営管理している、WEB担当プログラマのメモ

スポンサーリンク

レスポンシブデザインの参考に!Responsive Web Design JP がとてもいい!

f:id:jun9632:20160324132651p:plain

新しいサイトを立ち上げようとした時に、サイトのデザインを考えるのがものすごく苦手です。

ほとんど、プログラマ寄りなので、デザインのようなカッコいいとかオシャレとかには、程遠い生活をしています。

本来のちゃんとしたサイトであれば、デザイナーさんとかにお願いすればよいのかもしれませんが、 個人のサイトであったり、あまりお金をかけられない状況であれば、やっぱり自分でやるしかなくなってしまいますよね。

ここ最近の風潮から、モバイルファースでいかないと行けないと思うので、 レスポンシブルデザインが必須になってくると思います。

そんな時に、サイトデザインの参考になるのが、

この、Responsive Web Design JP です。

responsive-jp.com

キャッチコピーの 「 日本国内の秀逸なレスポンシブWebデザインを集めたギャラリーサイト」

まさにその通りです。

秀逸なレスポンシブWebデザインを集めてくれているサイトです。

見て頂ければわかりますが、 Responsive Web Design JPさんのフィルタがかかっているので、どれもカッコいいです!

あれこれ、頑張って探す必要がないです。

しかも、カテゴリや色、タイプ、技術別にも分かれているので 目的に合わせて、サイトを調べられるのでそれもかなりありがたいです。

ECサイトのデザインはこちらです。

responsive-jp.com

本当にありがたいサイトです。 いろんなサイト見て勉強させて頂きます。

関連記事

marketing-web.hatenablog.com

HTML5+CSS3でつくる!  レスポンシブWebデザイン

HTML5+CSS3でつくる! レスポンシブWebデザイン

  • 作者: 大串肇,齋木弘樹,清野奨,嵩本康志,松尾祥子,松尾慎太郎,宮崎優太郎,吉澤富美
  • 出版社/メーカー: ソーテック社
  • 発売日: 2016/03/17
  • メディア: 単行本
  • この商品を含むブログを見る

Rails4のlink_toでconfirmを表示する方法

f:id:jun9632:20160323131752p:plain

Ruby on Rails 4 で link_toで削除ボタンを作った時に、 「削除します。よろしいですか?」というような、confirmを表示させようと思って、 以下の用に書いたのですが、完全にconfirmが無視されて、削除処理が走ってしまいました。

 = link_to item_path(@item),
                method: :delete,
                class: 'btn btn-danger', 
                :confirm => '削除します。よろしいですか?'
        = icon('trash')
        span 削除

対処方法

下記によれば

ActionView::Helpers::UrlHelper

サンプルにある用に、data-confirmに値をもたせれば良いようなので

以下の用に、書くと解決されます。

 = link_to item_path(@item),
                method: :delete,
                class: 'btn btn-danger', 
                data: { :confirm => '削除します。よろしいですか?'} do
        = icon('trash')
        span 削除

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

パーフェクトRuby on Rails

パーフェクトRuby on Rails

Capistranoを使ってRailsのAssetsファイルの出力先を変更する

f:id:jun9632:20160322161458p:plain

Ruby on RailsでAssetes ファイルをコンパイルするとデフォルトでは public/assets ディレクトリにコンパイルされたファイルが出力されます。 それを別のディレクトリに変更する場合の方法です。

そもそもなんで変更したいの?

私の遭遇したケースとしては、フロントと管理画面のアプリを同じサーバーで動かしたく、 Nginxの設定で以下のようにして、

location ^~ /admin/ {
    (略)
    proxy_pass http://admin_server;
    break;
  }

http://www.example.com/admin/ のリクエストをすべて、 管理画面側のソースを見るようにしたかったからです。 当然、cssやjsのassetsファイルも管理画面のソースをみて欲しかったので、

<script src="/admin/assets/application-27071e7192124c5d0f0cf003xxxxxxxxxxxxxxxxb1ce458f71db88cf.js">

のようになるようにすることを目的としています。

設定方法

設定方法は比較的簡単で、以下のとおりです。

config.assets.prefix

config/application.rbに以下を追加します。

config.assets.prefix = '/admin/assets'

もともとのデフォルトの設定は、以下です。

config.assets.prefix = "/assets"

Capistrano

また、Capistranoを使って、Production 環境にもassets.prefixの変更を反映させるためには config/deploy.rbに以下の設定も追加する必要があります。

set :linked_dirs, %w{(略) public/admin/assets}
set :assets_prefix, 'admin/assets'

ハマった点として、

config.assets.prefixは 「/」 始まりですが、 Capistranoの設定の方は、 「/」 始まりでないので注意してください。

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

参考サイト

railsguides.jp

Postgresqlでdrop databaseしたら怒られた。

f:id:jun9632:20160318191936p:plain

タイトルの通り、Postgresqlでdrop databaseしたら以下のメッセージとともに怒られました。

There are 2 other sessions using the database.

他のだれかが使っているから削除できない的なメッセージだと思います。

そんなときは、以下の用にpidをkillすれば良いようです。

SELECT 
    pg_terminate_backend(pid) 
FROM 
    pg_stat_activity 
WHERE 
    pid <> pg_backend_pid()
    AND datname = 'db_name';

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

marketing-web.hatenablog.com

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)

参考サイト

stackoverflow.com

Rubyで数値の下N桁を取得する方法

f:id:jun9632:20160315195906p:plain

例えば、123456789の下 3桁を取得したい場合

以下の様にすれば良いらしい。

> 123456789 % 1000

=> 789

割ってあまりを出す感じです。

割る数字の0の数が結果の桁数になります。

10 => 1桁 : 9
100 => 2桁 : 89
1000 => 3桁 : 789
10000 => 4桁 : 6789
100000 => 5桁 : 56789

というような感じです。

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

marketing-web.hatenablog.com

プログラミング言語 Ruby

プログラミング言語 Ruby

  • 作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2009/01/26
  • メディア: 大型本
  • 購入: 21人 クリック: 356回
  • この商品を含むブログ (129件) を見る

Rails4のhas_manyのorderの書き方について

f:id:jun9632:20160315164233p:plain

Rails4のhas_manyで 1対多 や 多対多のレコードを取得するときに、Orderをかけながら取得しようと思って 以下のように書いたら

has_many :items, order: 'id'

以下の様に怒られました。

Unknown key: :order. Valid keys are: :class_name, :anonymous_class, :foreign_key, :validate, :autosave, :table_name, :before_add, :after_add, :before_remove, :after_remove, :extend, :primary_key, :dependent, :as, :through, :source, :source_type, :inverse_of, :counter_cache, :join_table, :foreign_type

orderなんてkeyは無いぞ!といわれている様子です。

そんな時は、以下のように書かないと行けないらしい

has_many :order_items, ->{order('id')}

参考サイト

stackoverflow.com

qiita.com

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

RailsにBootstrap Datetimepickerを設定する

Datetimepickerって結局どれ使ったらいいのかよくわからず、 jquery UIのDatePickerとか試してみましたが、 見た目のデザインと簡単に設定できる感じから Bootstrap Datetimepickerが良いんじゃないかと思っています。

今回、あまり細かな設定はしていませんが、 Ruby on Railsに導入する方法です。

Gemfile

Gemfileに以下を追加して、bundle install

gem 'momentjs-rails'
gem 'bootstrap3-datetimepicker-rails'

application.js

assets/javascripts/application.jsに以下を追加します。

//= require moment
//= require moment/ja
//= require bootstrap-datetimepicker

application.scss

assets/stylesheets/application.scssに以下を追加します。

@import 'bootstrap-datetimepicker';

aaa.html.slim

ビューで以下のように設定します。

.form-group
  = f.label :birthday
  = f.text_field :birthday, class: 'form-control', pattern: '\d{4}/\d{1,2}/\d{1,2}'


javascript:
  $(function () {
    $("#birthday").datetimepicker({
      format: 'YYYY/MM/DD',
      locale: 'ja'
    });

  });

完成イメージ

f:id:jun9632:20160310234452p:plain

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

marketing-web.hatenablog.com

UIまで手の回らないプログラマのためのBootstrap 3実用ガイド

UIまで手の回らないプログラマのためのBootstrap 3実用ガイド

参考サイト

github.com