base_url の設定プラグイン(まじめに)
お昼の日記の続き。 よく考えたら index.rb も update.rb も base_url は同じだった。 だったら、小細工せずにストレートに設定できる。
チェックボックスにチェックを付けてOKを押すと、現在のbase_urlをtdiary.confに保存するようにしている。 こうやって別プラグインにせずに、defaultの「サイトの情報」に入れちゃったほうがいいかもしれない。
add_conf_proc('base_conf', '日記のURLの設定', 'basic') do if @mode == 'saveconf' if @cgi.params['base_url_update'][0] == 'true' @conf['base_url'] = @conf.base_url_org else @conf['base_url'] = @cgi.params['base_url'][0] end end <<-HTML <h3 class="subtitle">日記のURLの設定</h3> <p> あなたの日記のURL (base_url) を設定します。 下のチェックボックスにチェックを入れてOKボタンを押すと、 現在アクセスしているURLを設定します。 </p> <p><input name="base_url" value="#{CGI::escapeHTML(@conf['base_url'] || '')}" size="70"></p> <p> <input name="base_url_update" type="checkbox" checked="checked" value="true"> 現在のURL ( #{@conf.base_url_org} ) を設定する </p> HTML end @conf.instance_eval { alias :base_url_org :base_url } def @conf.base_url self['base_url'] || base_url_org end
ところで、 @conf.base_url の特異メソッドとして定義して良かったんだろうか? 教えて、偉い人!