タグ

ブックマーク / zariganitosh.hatenablog.jp (69)

  • in_place_collection_editorのインストールと利用 - ザリガニが見ていた...。

    前回、in_place_editorを利用して、直接、リストページのコメント欄を編集可能になった。しかし、in_place_editorがサポートするのは、テキストフィールドだけ。その他の入力フォーム(チェックボックス、ラジオボタン、プルダウンリスト等)を同じような効果を利用して表示したい場合は、どうすれば良いのだろう? 調べているうちに、in_place_collection_editorの存在を知った。これを利用すれば、クリックするとプルダウンリストから選択可能になる。プラグインとしてsubversionを利用してダウンロードできるが、自分の環境で思い通りに利用できるようになるまで多少の修正や試行錯誤があった。以下はin_place_collection_editorをCSVサーバープロジェクトで利用するまでの経過。 チェックボックスやラジオボタンで選択可能になるin_place_co

    in_place_collection_editorのインストールと利用 - ザリガニが見ていた...。
  • ユーザー環境を保存する。 - ザリガニが見ていた...。

    調子良くCSVサーバーを運用していると、ユーザーからこんな要望が入りそう。「1ページの表示件数をもっと増やして欲しい、ページ切り替えが面倒だから100件くらい表示して。」と。開発者としても、現在の表示件数は開発段階でテストするのに都合のいい件数にしただけである。特に断る理由もなかったので、「わかりました。」と表示件数を100件に変更したとする。すると今度は別のユーザーから、すぐまた連絡が入る。「どうして表示件数を変更したのか、件数が多すぎて表示に時間がかかる」と。こんなとき、開発者としては一体どうすれば良いのだろう? そうなのです。1ページの表示件数のような、ユーザーの好みや利用環境によってベストな設定値が変化する場合は、それぞれのユーザー固有の設定を、ユーザーごとに保持できる仕組みが必要なのです。 ユーザー環境保存の仕組み それでは、どのような仕組みでユーザー固有の設定を保存すべきか?M

    ユーザー環境を保存する。 - ザリガニが見ていた...。
    poppen
    poppen 2007/05/19
  • タイマーをセットする。 - ザリガニが見ていた...。

    CSVファイルをリスト表示しているページは、ほとんどのアクションがajaxな更新。ページ全体を書き換えるタイミングってあまりない。そうすると気になってくるのがフラッシュメッセージだ。最初に表示されたメッセージが、いつまでも表示されたままになってしまう...。確認操作が不要なメッセージについては、一定時間経過後に自動的に消える方がいい。そう思って、Railsにもタイマーってあるのかな、と調べてみると、ちゃんとあるんですね。periodically_call_remoteで以下のようにやってみた。 app/views/layouts/csvs.rhtml ビュー(レイアウト) periodically_call_remoteを以下のように設定すると、10秒ごとに、check_flash_timerアクションを呼び出すようになる。ちなみに:frequency=>10はデフォルト設定になっているよ

    タイマーをセットする。 - ザリガニが見ていた...。
    poppen
    poppen 2007/05/04
  • 背景にストライプを! - ザリガニが見ていた...。

    どうも背景に白が多いと、入力フォームや表の白い部分が、背景に溶け込んでしまって今イチな感じ。かといって、背景に単純に色を付けると、それもまたうるさい気がしてくる...。素晴らしいデザインのサイトとはどうしているのか?注意してみると、背景に微妙な柄が付いているのでした。そのデザインはストライプが多い。そういえばMacOSXも白のストライプがベースになっている。(メニューバーやシステム環境設定など) そこで、csv_serverにもストライプな背景を取り入れてい見る。スタイルシートは、小さなストライプ画像の繰り返しで大きな領域全体もストライプにしてくれるようだ。以下のように指定した。 body { background: url(../images/stripe.png) repeat; } 問題は元になるストライプ画像だが、Stripe Generator 2.0 beta という素晴らしい

    背景にストライプを! - ザリガニが見ていた...。
  • paramsの挙動 - ザリガニが見ていた...。

    行番号の情報を付加する前に、その情報がどのようにparams[]へ渡って、どうしたら欲しい値を取得できるか、その仕組みを知っておく必要がある。以前もparamsを調べてみたが、未だ完全には理解できていない...。そこで、もう一度見直し。 もし、データベースと連携する入力フォームであれば、text_fieldなどのヘルパが利用できる。その場合は以下のような仕組みと理解した。 id = 1, file_name = '利益管理表'が保存されていると考えると... @csv = Csv.find(params[:id]) 基 <%= text_field 'csv', 'file_name' %> 以下のように展開される <input type="text" id="csv_file_name" name="csv[file_name]" value="<%= @csv.file_name %

    paramsの挙動 - ザリガニが見ていた...。
    poppen
    poppen 2007/04/24
    text_field, text_field_tagの挙動について
  • 並び替えの処理中にクルクル回るイージケーターを表示する。 - ザリガニが見ていた...。

    結構、憧れていたのだ...。ajax_scaffoldで、処理中にクルクル回るイージケーターに。 最小限の機能で並び替えを実装 まずは必要最小限の機能で、並び替えを実装してみた。まだ、並び替えの方向や、対象列の強調表示などのフィードバックは何もなし。 列タイトルのリンクをクリックすると、その列をキーに並び替える。 同じ列タイトルを繰り返しクリックすると、並び替えの方向を反転する。 <%# ---------- app/views/csvs/_listh.rhtml ---------- %> <tr> <% for title in @column_titles %> <% sort_direction = (params[:sort_field] == title) ? @next_direction : 'sorted' %> <th> <%= link_to Csv.human_at

    並び替えの処理中にクルクル回るイージケーターを表示する。 - ザリガニが見ていた...。
  • ヘルパメソッドを簡単に機能拡張する方法 - ザリガニが見ていた...。

    ここでは、直前で話題のlink_if_authorized_unless_currentを実際に追加定義してみる。 機能拡張する前に考えたこと もし、link_if_authorizedと全く同じ機能を提供するlink_if_authorized_unless_currentを定義するにはどうすれば良いか? link_if_authorizedのソースを確認 user_engineのrdocでソースを確認してみると、link_if_authorizedは、以下のように定義されている。 def link_if_authorized(name, options = {}, html_options = {}, *params, &block) ...(途中省略)... end 同じ機能のlink_if_authorized_unless_currentを定義 link_if_authorize

    ヘルパメソッドを簡単に機能拡張する方法 - ザリガニが見ていた...。
  • List-O-Maticでメニューバーを作ってみる。 - ザリガニが見ていた...。

    そろそろメニューバーが欲しくなってきた。良さそうなデザインが無いか検索してみると、オサレなメニューバーを作ろうのページで、List-O-Maticの存在を知る。いくつかの質問に答えてデザインを選ぶと、HTMLCSSのコードを出力してくれる。そのコードをコピーして自分のページに貼付ければ、あっという間にメニューの完成、ちゃんと使える!早速、CSVサーバーにも利用してみた。 レイアウトの作成 softwarebookの時と同じように、メニューの表示は、パーシャルファイル_menu.rhtmlで描画する。 メニュー用のスタイルシートも、新たにlist_o_matic.cssを用意して、そこで設定するとこにした。 <%# ---------- app/views/layouts/csvs.rhtml ---------- %> <html> <head> <title>Csvs: <%= con

    List-O-Maticでメニューバーを作ってみる。 - ザリガニが見ていた...。
  • データベースから.ymlファイルに変換する。 - ザリガニが見ていた...。

    この前、db:fixtures:loadで.ymlファイルに記述した内容をデータベースに設定する方法を覚えた。それなら逆に、データーベースの内容を.ymlファイルに変換する方法はないかと探していたら、やっぱりそんな方法があるんですね。これで、マイグレーションと組み合わせて、データベースの移行が手軽にできるようになる。とっても便利だ! ar_fixturesプラグイン ~/railsapp/softwarebookへディレクトリを移動して、以下のコマンドでインストールする。 script/plugin install http://topfunky.net/svn/plugins/ar_fixtures インストールして下記のコマンドを実行すると... script/runner "Keyword.to_fixture" test/fixtures/keyword.ymlファイルに、データベ

    データベースから.ymlファイルに変換する。 - ザリガニが見ていた...。