#actionview #rails #ruby #partial

Rails オプション(省略可)local variablesをpartial viewに渡す方法

例えば省略可能なフラグみたいなローカル変数をpartial viewに渡した時、そのデフォルト動作をpartial viewでハンドリングしたいですね。

調べてみたらdefined?とlocal_assigns.has_key?が見つかりましたが、前者のほうはオススメできなさそうです。

Testing using defined? headline will not work. This is an implementation restriction. http://api.rubyonrails.org/classes/ActionView/Base.html

実際やってみて、defined?でも動けるパターンはありますが、if/unless文で一行にしたらバグりました。なのでやはり* local_assigns.has_key?*を使いましょう。

Resources

http://stackoverflow.com/questions/238615/defined-method-in-ruby-and-rails http://api.rubyonrails.org/classes/ActionView/Base.html

Qihuan Piao

朴 起煥

中国育ち、東京暮らし。読んだり書いたり、時には考え込んだり。親になってから5年ほど、ブログ(とその他もろもろ)は完全停止していたけど、気づけばまた書いている。ここにはそんな寄り道の記録を書いています。結論が出ない話も多いけど、それもまたよし。

その頃、英語で書いたもの

Remembering Steve Jobs

2011年10月6日