Log.log(work)

いろんな作業メモ

radio_buttonのcheckedの位置を可変にする

DBで登録した内容を画面に表示するって結構あると思うので
忘れないうちにメモ。

環境

Rails 4.2.5
Ruby 2.1
テンプレートはslimを使用

Controller

DBの結果fooを変数にセット

@display=({"hoge"=>result["foo"]}) # 0 or 1 or2
View

booleanで判定できるらしいのでeqlで判定させたらとりあえずうまくいった。
方法として合っているかどうかはわかりませんが。。。

.radio
  label.style
    = radio_button("hogeGroup", "hoge", "0", :checked=> @display["hoge"].eql?("0"))
    | test1
  label.style
    = radio_button("hogeGroup", "hoge", "1", :checked=> @display["hoge"].eql?("1"))
    | test2
  label.style
    = radio_button("hogeGroup", "hoge", "2", :checked=> @display["hoge"].eql?("2"))
    | test3

Ruby on Rails上でアイコンフォント(glyicons)が表示されない

ので調べた結果をまとめる。


  1. ファイルはvendor/assetsの下に置く

アプリケーション名/vendor/assets/fonts
の下に

glyphicons-halflings-regular.eot
glyphicons-halflings-regular.svg
glyphicons-halflings-regular.ttf
glyphicons-halflings-regular.woff

を置く。

  1. pathとプリコンパイルの設定。

Assets Pipelineのパス指定でプリコンパイルの対象に入れないと読み込んでくれないようなので
下記のファイルに記述を追加

# config/application.rb
config.assets.precompile += %w(*.eot *.svg *.ttf *.woff)
config.assets.paths << "#{Rails}/vendor/assets/fonts"
  1. css内のパスも指定

上記の二つだけでできなかったのでcss側も記載したらできた。
アプリケーション名/app/assets/stylesheetsの配下にあるCSSに記述

@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('/assets/glyphicons-halflings-regular.eot');
  src: url('/assets/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('/assets/glyphicons-halflings-regular.woff') format('woff'), url('/assets/glyphicons-halflings-regular.ttf') format('truetype'), url('/assets/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
}

CentOS6.7でsudoが使えなかったので使えるように変更した件

CentOS6.7入れたらsudoがユーザに効かないようになっていたので変更してみたときのメモ。

usermod -G グループ名 ユーザ名

Gのあとにグループ名をコンマでつなげて複数グループに所属ということもできる。
今回はrootと同じレベルのグループ「wheel」(ubuntuの場合はsudo)に所属することで、
sudoコマンドがでできるようになる。

usermod -G wheel hoge

これでhogeもsudoできるぞ!と思ったらまだ出来ない。

 sudoers ファイル内にありません。この事象は記録・報告されます。

sudoers ファイルを見たら
コメントアウトになっている。

## Allows people in group wheel to run all commands
# %wheel  ALL=(ALL)       ALL

グループ指定できないようになってるけど、使いたいのでコメント外して再度コマンド実行。

VM上で立ち上げたローカルホストをホストから見る方法

環境
ホスト:Windows8 64bit
ゲスト:(VirtualBox) CentOS6.7, Ruby on Rails

やりたいこと:
ゲストOSのRails上でlocalhostを立ち上げ、
ホストOSのブラウザで確認する。

手順:
VirtualBoxにネットワーク設定を2つ用意しておく。
① ブリッジアダプター
 → ゲストOSがホストOSと同じネットワークを使用するので、ゲスト側が外と繋がるために必要。
② ホストオンリー アダプター
 → ホストとゲストの間で通信する(外部に出ない通信)。

もしホストオンリーアダプターが立ち上がらなかったら、
コントロールパネル→ネットワークでvirtualboxのネットワークのプロパティを開き、NISC6が無効化(チェックなし)だったらチェックを入れて有効化する。

次にゲストOSを立ち上げてIPアドレスを確認。

ifconfig

eth1のアドレスをメモる。
恐らくローカルとグローバルアドレスとホスト通信の3つあると思われるが、
192.168.x.xのアドレスを使用する。

次にiptablesの設定を行い、ゲストOSのポートを開ける。

sudo vi /etc/sysconfig/iptables

Railsのサーバ(Webrick)の場合、3000番ポートを使用するので、3000番を開ける。

-A INPUT -p tcp -m tcp --dport 3000 -j ACCEPT

変更したら更新内容を反映させる。

iptables restart

次にwebrickを立ち上げる。
※事前にアプリがあると仮定

rails s -b 0.0.0.0

これでゲスト側はオッケー。

次にホストのブラウザを立ち上げ、最初に調べたIPアドレス:ポートを指定する。

確認できたらオッケー。


番外編:
FTPクライアントも入れたいという場合には、ここまでくれば設定はすぐできる。
たとえば、WinSCPの場合、設定のホスト名にゲスト側のIPアドレス、SFTPにしてゲストのユーザーでログインすればオッケー。

CentOS6.7のnautilus が使いにくくてつらい

クリックする度に新しく窓がopenされるってどういうこと?

と非常に使い辛いのでなんとかならんかなぁと調べてみたら
設定エディタツールをインストールして設定を旧版にすればいいらしい。

rootで gconf-editor をインストール

# yum install gconf-editor

終わったら、ディスクトップの「アプリケーション」→「システムツール」→「設定エディタ」を開く。
「apps」のところにあるnautilus→preferencesを選択し、
一番上のチェックボックスにチェック

TODO: trace と ui test