アフィリエイト広告を利用しています

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog
asahina-ryusei.net

rails nil をケアする為の blank? メソッド。

view に表示する際に nil をケアしたい。

nil の状態で @val という変数を controller から渡されると、
view 側で表示する時にエラーしてしまう為、アプリケーションが停止する。
値が nil だったら "" で埋めるといった処理をするなら以下の様に blank? を使う。
<%= @val.blank? ? "" : @val %>

rails button_to の見栄え。

button_to を実装した後、IE7で見栄えを確認すると空白というかスペースが大きく一行の高さが高くなってしまう。
public/stylesheets/scaffold.css に以下を追加するとすっきりする。
.button-to{
  padding: 0px;
  margin: 0px;
}

button_to は、デフォルトで class="button-to" がつく為、
table 側の css をいくらいじっても IE7 では、反映されない。

rails link_to でリンク先を指定する。

link_to でリンク先を指定する。
<%= link_to 'SYSTEM SETTING', :controller => 'controller_name', :action => 'action_name' %>

css IE8 レイアウトが崩れる。

IE8 でレイアウトが崩れる。IE7 とかでは、ちゃんと見えるのに。。
IE の "互換表示" ボタンを押すと IE7 として振舞うのかとりあえず綺麗に見える。
根本的な対策にはならないが、ユーザに毎回ボタンを押してもらうのは、いけてないので
以下を、コンテンツの頭の方に書いてあげる。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

これで "互換表示" ボタンを押した状態で表示される。

rails partial で部分テンプレート。

rails の scaffold で作成した場合、new と edit の view がほぼ同じレイアウトである。
これを、カラムの変化に対応しながら更新していくのは、非常に面倒。
何かいいものは、ないかと調べたら "parial" で部分的にレイアウトを分けることができた。
以下を、new とか edit とかに書く。
<%= render(:partial => "form", :object => @xxxxxxxx) %>

そして、同じ場所(viewsの配下)に以下のファイル名でファイルを作成。
_form.html.erb

すると、あら不思議、new , edit にレイアウトが埋め込まれている。
partial で指定した "form" で "_form.html.erb" というファイルのレイアウトが埋め込まれる様子。
partial で "test" を指定すると "_test.html.erb" というファイルのレイアウトを埋め込む。
つまり、partial で指定したキーワードの先頭にアンダースコアがついたファイル名とリンクするということですね。

unix ルーティング情報の再読み込み。

FreeBSD で /etc/rc.conf を書き変えた後、再読み込みさせるコマンド。
/etc/rc.d/routing restart

ruby pp

pp とかいう便利なものがある。
require 'pp'

以下の様なハッシュの時。
hash = {
  "A" => "Kuramochi",
  "K" => "Akimoto",
  "B" => "Kashiwagi",
  "48" => [ "Maeda","Ooshima","Kawasaki" ]
}

p hash すると
{"K"=>"Akimoto", "A"=>"Kuramochi", "B"=>"Kashiwagi", 48=>["Maeda", "Ooshima", "Kawasaki"]}

pp hash すると
{"K"=>"Akimoto",
 "A"=>"Kuramochi",
 "B"=>"Kashiwagi",
 "48"=>["Maeda", "Ooshima", "Kawasaki"]}

pp しておくとデバッグ等、ちょっとした時にうれしいですね。

ruby `require': no such file to load

以下の様なログが出たら、
`require': no such file to load -- .../xxx/xxxxxx.rb (LoadError)

1. require しているファイルまでのパスが本当に正しいか?(ファイルが存在するか?)
2. require "rubygems" とか plugin 系の require がされているか?
3. require する順番が正しいか? require "rubygems" とかは、最初の方に書いておいてあげるとはまらない。

ruby 動的に現在位置を取得する。

動的にというとおおげさだけど、require とかする際に、
相対的に file のパスを指定することができるので便利。
p File.dirname(__FILE__)

unix vim タブ設定。

vim のインデントを "2" に設定。
~/.vimrc を以下のように編集。
set tabstop=2
set softtabstop=2
set shiftwidth=2
<< 前へ     >>次へ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。