MySQLのデータをCSVに吐こうとするとエラーになる。

MySQLで顧客テーブルのデータを全部CSVに抜いてこようとして以下のSQLを実行した。 mysql> select * from customers into outfile "customers.csv" fields terminated by ',' optionally enclosed by '"'; 下記のようなエラーとなった。 ERROR 1045 (28000):…

MongoDBなRailsでrspecしようとするとfixture_file_uploadが・・・。

fixture_file_uploadをrspec内で使用して、ファイルアップロードのテストを行おうとしたが、"file does not exist"って言われて、テストが失敗する。 Failure/Error: @file = fixture_file_upload "/stations/import.csv", "text/csv" RuntimeError: /statio…

DateFieldのフォーマット

DateFieldを使ったフォームで サーバからは"2013-01-01T00:00:00Z"みたいな形式でデータを受け取って 表示は"2013/01/01"の形式で 保存のためにサーバに送信するときは"2013-01-01"の形式で とかいう困った仕様に対応するには以下のように書く ... { xtype: …

グリッドの最終行にスクロールする

テーブルにフォーカスを当てた後で、selectionModel使って、最後のデータを選択状態にすればOK. コントローラーの実装はこんな感じ。 @getHogeGrid().getView().focus(); @getHogeGrid().getSelectionModel().select(@getHogeStore().getRange().length-1);

Mongoid::Paranoiaで論理削除を実装する。

Mongoid::Paranoia使って論理削除ができる class Person include Mongoid::Document include Mongoid::Paranoia end って書くと、persion.destroyしたときに、データは完全には削除されず、論理削除されるようになる。 物理削除は行われずdeleted_atに日付が…

ExtJS+Railsでdeployできない、まだ。

昨日、deployがうまく行かないと悩んでたけど、なんとかなりそうな雰囲気。 precompileでjsが1つのファイルにマージされちゃうとうまく動かないような気がするので、以下のようにしてみた。 app/assets/javascripts/application.jsで 以下の部分を削除して、…

ExtJS+Railsでdeployできない。

ExtJS+RailsなアプリをAWS上にdeployしてみたが、precompileがうまく行ってないのかエラーとなってしまう。 これと同じだと思う。 http://stackoverflow.com/questions/14962016/using-extjs-along-with-the-rails-assets-pipeline assets pipeline使わない…

x-hide-visibilityとx-hide-display

前のエントリでも出てきたCSSのclass x-hide-display とは別に x-hide-visibility というclassもある。 どちらも要素を非表示にするけど、 -displayの方は非表示にされた要素のあった場所に次の要素が詰めて表示。 -visibilityはもともとあった空間を開けて…

Ext.grid.column.Actionの表示/非表示を制御する。

Ext.grid.column.Actionはグリッド上のセルにボタン(アイコン)などを配置して、ユーザーのクリック操作に対応して何らかの処理を行うためのもの。 使うにはgridpanelのcolumnsとかにxtype:'actioncolumn'として記述する。 Ext.define 'example.Grid', { alia…

Ext.ux.Routerの話

ExtJSのMVCではControllerでviewが発火するイベントをlistenして、モデルの適切な処理を呼び出す。 でよいはずだが、Controllerから別のコントローラーを呼び出す時のコードの書き方がいまいち良くわかってない。 遷移元に遷移先のコントローラXXXの定義を書…

通知ウィンドウを出す。

アプリからToast的な通知を出すにはExt.ux.window.Notificationを使う。 http://www.eirik.net/Ext/ux/window/Notification.html { xtype: 'button' handler: ()-> Ext.create('widget.uxNotification', { title: 'お知らせ' position: 'br' # 右下(bottom -…

ボタンに外部サイトのリンクを付ける。

ExtJSのButton(Ext.button.Button)をクリックしたときに別のURLに遷移する(または新しいウィンドウで開く)にはhref、hrefTargetを設定してやればいい。 { xtype:'button' href:'http://google.co.jp/' hrefTarget: '_blank' text: '新しいウィンドウでgoogle…

ExtJSのGridで特定行だけチェックできないようにする。

GridのselTypeをcheckboxmodelとした場合にGridにチェックボックス列が表示される。 これで、特定のレコードに対してはチェックボックスのチェックが出来ないようにしたい。 が、自前で頑張るしかないみたい。 Ext.define 'hoge.MySelectionModel',{ extend:…

ExtJSでpasswordなフィールドを使う。

5分くらいだけど、地味にはまった。 最初、勘で xtype: 'password' とか xtype: 'passwordfield' とか してたけど、エラー。API Documentにもそれっぽいのがなくて、結局ググる。 xtype: 'textfield' inputType: 'password' が正解 http://www.sencha.com/fo…

Ext.grid.column.Action

Ext.grid.column.Actionを使うと、イベントハンドラをViewに書かなくちゃいけなくて、そうするとMVCっぽくかけないなぁとか、いまいち使いづらいなぁとか思ってたら、やっぱり同じ事考えるひとはいるもので。 http://stackoverflow.com/questions/12716675/h…

ExtjsのTreeGridで各列でフィルタリングしたい。

ExamplesのGrid Filteringでやってるような事をTreeGridでやってみたかったんだけど、いい方法ないだろうか・・・。 http://www.sencha.com/forum/showthread.php?184010-TreeStore-filtering. http://stackoverflow.com/questions/11584946/extjs-4-1-treeg…

ExtJSとRailsの連携(のつづき)

昨日、「サーバ側でエラーが発生した場合にどうするかStoreの中身をロールバックできないので、どうしたものかとか思案中・・・・。」 と書いたけど、StoreにrejectChangesというメソッドが定義されてた。これを使うとエラー時のロールバックは以下のように…

ExtJSとRailsの連携

の方法をいろいろ試しているが、今のところ良さそうなのは Ext.data.proxy.Rest を拡張してRails用のProxyを作成 Ext.define 'hoge.util.RailsProxy', { extend: 'Ext.data.proxy.Rest' alias: 'proxy.rails' format: 'json' reader: type: 'json' root: 'da…

ExtJSのフォームで必須項目のラベルに(*)を付ける

単純にCSSを書けばいいだけかと思っていたが、結構面倒だった。 詳細はstackoverflowに書いてるが、自分の場合はExt.form.field.Baseをoverrideした例がうまくいった。 http://stackoverflow.com/questions/7950375/extjs-4-mark-a-red-asterisk-on-an-requi…

ExtJSのInfinite Gridのつづきのつづき

で、Infinite Gridの表示はいい感じになってきたけど、このGridのレコードを1件取ってきて保存しようとするとエラーとなってしまった。 Uncaught TypeError: Object [object Object] has no method 'filterBy' 状況としては http://www.sencha.com/forum/sho…

ExtJSのInfinite Gridのつづき

昨日の続き。 スクロールを滑らかにするためにGridの実装を以下のようにした。 Ext.define 'app.ux.Grid', { extend: 'Ext.grid.Panel' loadMask: true viewConfig: stripeRows: true enableTextSelection: true plugins: ptype: 'bufferedrenderer' synchro…

ExtJSのInfinite Gridのサンプル

ExtJS 4.2からGridの描画が高速になるらしいです。 http://www.sencha.com/blog/first-look-at-ext-js-4-2-grid bufferredRendererというのを使ってやっていて、ExtJSのExampleにもInfinite Gridでもこれを使って実装している。 http://docs.sencha.com/extj…

! No such type as web

herokuで稼働しているアプリを更新後、まったく動かなくなってしまった。。 ログには at=error code=H14 desc="No web processes running" ...... と出力されていた。プロセスが起動していないという事なので heroku ps:scale web=1 とやってみたが、 Scalin…

Heroku push rejected, no Cedar-supported app detected

Herokuにあげてるアプリケーションを久しぶりにアップデートしようとして、 git push heroku master したところ、上記のエラーが発生した。 $ git push heroku master Counting objects: 135, done. Delta compression using up to 4 threads. Compressing o…

CanCanでの権限チェックをモデルで行うのはダメなのか?

Railsのアプリケーションで権限管理にCanCanを使用している。 https://github.com/ryanb/cancan/ models/Ability.rbに権限定義を記述しておけば各コントローラに load_and_authorize_resource を付与するだけでチェックを行うようになる。コントローラーレベ…

layout nilってやっても効かない

とあるブログに layoutsを適用しない場合は class HogeController < ApplicationController layout nil とすればいい。みたいな記述があったけど、最新のRailsでは class HogeController < ApplicationController layout false が正しいみたい。 http://stac…

HelperのメソッドをControllerから呼ぶ。

ここで。 http://memo.yomukaku.net/entries/6

routes.rbにroot to: "home#index"って書いてもhome/indexに飛ばない。

というので嵌ったけど、単純にpublic/index.htmlを削除していなかったから見たい。

Railsの社内勉強会的な何か。

ここに沿ってやってる。 http://guides.rubyonrails.org/getting_started.html gemとは ... ライブラリ管理するみたいな。 2.2 The Components of Rails Railsには色々なコンポーネントがあるよ。 Action Pack Action View partial ... 部分的なテンプレート…

HTMLとJavascriptで表示されているブラウザの画面を共有する

にはどうしたら良いかという話。 Screensharing a browser tab in HTML5? WebRTCが本命ではないかと。 以下のデモが素敵すぎる。 https://webrtc-experiment.appspot.com/RTCMultiConnection/screen-sharing/ ソースコードも公開されてる。 https://github.c…