tixture55’s diary

主にプログラミング関係の日記です。

rails備忘録(mapとかfixtureなど)

railsの備忘録です。触ってて分かったこととか。

 

/config/application.rbはrails sのときに読まれる

railsは読み込みを早くするために、画面リロードでは読まれない設定があります。

/config/application.rbもそのひとつ。

 

予約語

deviseを入れてると、currrent_userという変数が使えます。あと、requestはユーザエージェントとかリファラの情報が入ってる。

 

@user = current_user

ようこそ!<%= @user.email %>  さん的に使える

 

mapを使った検索条件の記法

下記のように書くことで、commentsテーブルのcontent,name,email,site_urlカラムのsearchに入った文字列を含むレコードをすべて取得できる。こう書くことで、commentsテーブルのcontent,name,email,site_urlカラムのsearchに入った文字列を含むレコードをすべて取得できる。

 

if search.blank?  
all #rails3ならscopedと書いていた
else  
conditions = %w[content name email site_url].map { |c| "comments.#{c} like :search" }  where(conditions.join(" or "), :search => "%{search}%")               
end

 

test/fixtures/hoge.ymlのロード

予め、テストデータをhoge.ymlに書いておくと、データ壊れてもまたロードできて便利。でもdevelop環境のテーブルのデータ上書きされてしまうので注意。あと、主キーのidは1から書いていくこと。書かないとランダムな値が勝手に挿入されてテストデータとして使いモンにならない。

 

まとめ

学習のために作ってる本の販売サイト的なやつがあんまり詰まることなく、テーブルデータの抽出部分はなんとなく作れたのでやっぱRailsは使いやすいな印象です。

bookSearch/taskapp at master · tixture55/bookSearch · GitHub