POIで名前定義されているセルを取得する話

環境 org.apache.poi 3.7 maven repositoryを検索するときは、group id「org.apache.poi」で検索する。 group idが「poi」のものはversionが3.1まで。 ソース セルが1つだけのときはここを参照 http://www.ruimo.com/2010/11/10/1289351460000.html 複数の…

HowToEnsureValidAttributesInFormData

attr_accessibleと可変長引数の話 http://wiki.rubyonrails.org/rails/pages/HowToEnsureValidAttributesInFormData ちょっと記事が古いなぁ。今なら違う方法でできるかも。 # @params['user'] contains the attributes we want to add # allowed_attr speci…

private!

privateの意味は、メソッドを関数形式でだけ呼び出せるようにし、レシーバー形式では呼び出せないようにするという意味です。したがって、可視性がprivateなメソッドは、自クラス及びサブクラスからしか参照できません。protectedも同様に、自クラス及びサブ…

perform_action!

論文なんかよりコードが書きたい!と思ってたらこれができた。 追記2: private! - kelkronsoの日記 追記: とおもったらだめだったこいつでしっかりキャッチされてた>< def perform_action_with_rescue #:nodoc: perform_action_without_rescue rescue Exc…

Rubyっぽいコードを書く

#hogeがnilじゃなかったらfugaに代入する #rubyはじめて30分位の人が書きそうなコード if hoge != nil fuga = hoge end #nil?くらいは使いたい if !hoge.nil? fuga = hoge end #!(否定)を使わない unless hoge.nil? fuga = hoge end #nilはfalseである if ho…

named_scopeで検索

参考 #112 Anonymous Scopes - RailsCasts class Product < ActiveRecord::Base has_many :product_details named_scope :active, :conditions => {:enabled => true} named_scope :not_deleted, :conditions => {:delete_flg => false} named_scope :delete…

ローカル変数とかスコープとかメソッドとか

ローカル変数と等号付きメソッド レシーバを省略するとメソッドではなくローカル変数として扱われます。普通のメソッドはselfのレシーバを省略できますが、この場合は不可。 プログラミング言語 Ruby リファレンスマニュアル class Foo def bar=(v) end def …

&付きシンボル

HogeModel.find(:all).map(&:id) これが HogeModel.find(:all).map{|i|i.id} と等価なんだって!今日知ったよ!これでまたコード量が少し減った気がする!

Rails*Javascript 要するにRJS

JavascriptやっほいAjaxやっほい な最近だけど 「この画面かっけー」とか思いつつもなかなか手をつけられない僕みたいな人はきっと僕だけじゃないはず というわけで今回はRJSについて記事を書くよ! 3日前まで「RJSとかイラネ」とか言っててすいませんすいま…

Rails2以上でweborbを使う

基本は以前のと同じなんですが 何も設定せずに使うとこいつが起こると思います ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken): ごにょごにょ... サーバーログにそんなの出てないけど動かないよ! というときは/…

はてなTシャツ

はてなTシャツ欲しい!! id:hoco氏と一緒に着るよ! これで通勤するよ!

Rubyのクラスの概念がわかった気になる一文

まずRubyにおいてクラス名とは定数名と同義である。ではクラス名と同名の定数には何が入っているのか。実は、クラスが入っている。Rubyではプログラムがさわれるものは全てオブジェクトだったから、クラスも当然オブジェクトとして表現されている。これをク…

ネストしたリソース定義

Railsレシピのままなんですけどね。補足的な意味合いで書いてみる。 root/blog/1/entries みたいな感じで blog_id = 1 にひもづくentryの一覧を表示する画面を作りたいとする。 まず、root.rbに map.resources :blogs, :has_many=>:entries と書くことによっ…

背景をRubyダークパステルにする

こんなんになります。 方法 ツール→プラグインから プラグインの更新を読み込む 「rubyの追加カラーテーマ」というのが表示されると思うのでそれをインストール。 ツール→オプション→フォントと色 の上のほうの profileのところから「Rubyダークパステル」を…

rubykaigi2008!

行ってきました。 内容については詳しく書かれてる方がたくさんいらっしゃるので割愛させていただくとして 感想その他をつらつらと書きたいと思います。 rubykaigiを楽しむための5つのこと Mac。何はともあれMac。会場は無線LAN完備、電源もあるところにはあ…

"" と""の違いについて

今更知りました…。 ""で書くと、HTMLのソースに改行を出力しません。 一応サンプル "" で書く ---- <%t = Time.now%> <%if (6..11).include?(t.hour)%> おはようございます。 <%else%> こんにちは。 <%end%> ---- 出力 ---- こんにちは。 ---- ""で書く ---- …

ブラウザでRails開発

Heroku ずばりそのままなんですが、これすごいです。 Railsの開発ができるというより、ブラウザベースでここまでできるのがすごい(笑 機能等、詳しくは以下の記事で! 2008-02-09 - koumiyaの日記 感想 重い。 さすがにこれで開発はできないなぁ というのが…

検索機能について

こんなの使ってます # config/initializers/global_named_scopes.rb class ActiveRecord::Base named_scope :conditions, lambda { |*args| {:conditions => args} } end # models/search.rb def find_products scope = Product.scoped({}) scope = scope.co…

rake tasks

一番感動したのはこれ # rake db:migrate:reset * 全テーブルドロップして作り直し 久々のペアプロ参加での収穫 - ちびかめ日記 DBも一度dropするのかな…? どちらにしろ、個人の開発環境ならこれで充分! version=0にしてからバージョン戻すとかいう作業に…

scaffold + 検索 with Rails2.0

こんなの作ります。 どっかで見たことある感じですね!すいません真似しました>< 概要 検索がない一覧なんて一覧じゃない!ということで scaffoldに検索機能をつけたものを作りたいと思います。 おまけとしてセレクトボックスも付いてます。 結果 長いので…

知って得した便利文法 on Ruby

自己代入 a ||= 1 # a が偽か未定義ならば1を代入。 ↓こんな感じで #インスタンス変数modelを取得する、modelがnilの場合はインスタンス化したものを返す def model @model ||= Model.new end 多重代入 a, b, c = 1, 2, 3 #a=1, b=2, c=3あまり横に長くなる…

必要な唯一の・・・

同じようにupしてる人がいたけど、思わず僕もup 不覚にもうけた(笑 やられたぜNetBeans だけどごめんよ、僕のPCにはもうVスタもEclipseも入ってるんだ><

Railsについて

すこし分かってきたので、ちょっと書いてみる。 初心者に優しくはない! なぜかと言えば僕が苦労してるからです!(おい ごりごりやろうとすれば、できる。 だけど、Railsには大抵のことを実現する機能がついていて (またはプラグインが存在して それらを使…

続・has_many 〜, :through => 〜

1つ前の記事で、has_many 〜, :through =>SUGEEEEという記事を書いたけど、 正直あれだけでは、どこがすごいのか全然伝わらなかったと思い、追記。 サンプルモデル entry(1) -- (N)categorizations(N) -- (1)category (Railsレシピより 今まで僕が経験したO/…

has_many 〜, :through => 〜

今更だけど、これSUGEEEE entry(1) -- (N)categorizations(N) -- (1)category (Railsレシピより こんな感じの構造で entry.categoriesって感じでデータが取得できる。 entry.categories.clear で関係が削除されるのもいい感じ。 (明示的に関係テーブルを削…

form_forについて分かったことまとめ

第一引数 インスタンス or 文字列 or シンボルを指定 (配列でもいけるっぽいけど、どんなときに使うんだろうか アクション先で取得するハッシュのキーには (param[:key]こんな感じで 第一引数が文字列、シンボルならその文字列が インスタンスならそのクラ…

複数のモデルを1アクションで扱う

最近の自分の中での課題はもっぱら↑についてです。 Railsの作りから察するに、1アクション=1モデルが原則なんだろうけど そんなんどんなゆとりアプリだt(ry RailscastsのFormのところに載ってる、Complex Forms Part 1-3みたいに かっこよくやってもいい…

バリデーションのオプションについて

validates_numericality_of は数値であるかを検証するバリデーションだけど、 validates_numericality_of :min_price, :max_priceこんな感じで書くと、値が入っていなくても 「数値でない」というエラーになってしまう。 必須ではないけど数値でないとだめ、…

はてなダイアリーの、改行時のスペース(margin)を取っ払う

はてなダイアリーって、編集画面で改行を入れると <br>が入るわけでなく、<p>で囲まれるようになっている。 (ちなみに2回改行をいれると<br>が入ります。) 自力で<br>を入れていけばいいんだけど、書きづらい かつ めんどくさい。 そこでこれ! div.section p{ margin-top:0</p>…

ローカル変数とメソッド呼び出し

いきなりですが、コードを class Test attr_accessor :str def set(str) @str = str end def get str end end test = Test.new test.set("test") puts test.getこれ、結果は「test」が出力されます。Ruby慣れしてない僕にはこのコードの意味が分からず、かな…