東銀座 にある 銀座 じゃのめ 銀座三丁目店 にて、 500円 で天丼を食べてきました。 ものによって 390円 だったり 500円 超えたりする お店です。

ごはんが少ないように見えるかもしれませんが、器が深くてごはんもどっさり入っています。
続きを読む 東銀座 じゃのめ 500円 でうどん・天丼を食べる東銀座 にある 銀座 じゃのめ 銀座三丁目店 にて、 500円 で天丼を食べてきました。 ものによって 390円 だったり 500円 超えたりする お店です。

ごはんが少ないように見えるかもしれませんが、器が深くてごはんもどっさり入っています。
続きを読む 東銀座 じゃのめ 500円 でうどん・天丼を食べるAPI を作っていたとき、 次のようなエラーが出ました。 原因は devise gem でした。
NoMethodError (undefined method `failure_app’ for nil:NilClass)
unauthorized のユーザに対して sign_in を実行していました。
作成中の API では、 いちいちメールの確認をしなくてもログイン・利用はできるようにしておく方針だったため、 メール未登録のユーザでもログインする処理を記述していました。 そのため、 通常なら warden の上で unauthorized とみなされるユーザについてもログイン処理を行っていました。
config/initializer/devise.rb で次のように設定を行うと解決します。
|
1 |
config.allow_unconfirmed_access_for = 2000.years |
ほかに、次の記述を devise で認証を行うモデルクラスに入れるという方法があります。 たとえば User クラスなど。
|
1 2 3 4 |
private def confirmation_period_valid? return true end |
意味を考えると 後者のほうが望ましいと思います。
confirmation_period_valid?メソッド confirmation_period_valid? は devise のモジュール Devise::Models::Confirmable で定義されています。
銀座周辺で毎日のランチを平均550円未満に抑える方法を書きます。 ワンコインランチを探すというのも手なのですが、 今回は ワンコインではないランチを考えます。
PREMIUM PASS を買うと、毎日のランチを平均550円以下に抑えることができます。
PREMIUM PASS vol. 3 があれば、 500円 のランチが 29回 食べられる計算になります。 (13:00 以降 でないと使えないものを除くと、 21回 食べられる計算になります。)
1か月のうち、 ランチを外で食べるのは (私の場合)だいたい 20回 です。 要するに 20日全日、 500円でランチを食べられることがわかります。
PREMIUM PASS vol. 3 の価格が 980円 ですから、 ( ( 980 + 500 times 20 ) div 20 = 549 ) 円 で毎日のランチが食べられる計算になります。
仮に PREMIUM PASS に載っているお店に行かなくても、 500円 のランチを食べるんだったら 平均して ランチのコストは同じになります。
470円 で食べられる蕎麦もありますが、 そういったものばかりではいやになる、 だけど高いランチはいやだという方におすすめの一冊です。
今は東銀座で働いていますが、 東銀座からでも徒歩で行ける範囲のお店が多く載っています。 銀座、銀座1丁目、新橋、東銀座あたりで働いている方におすすめです。
新宿など、他のエリアでも同じような冊子が売られています。 東京だけでなく他の都道府県のもありますので、「ランチパスポート」を Amazon で検索 してみてください。
Rails のアプリケーションで Cells gem を 3.11.3 から 4.0.2 にアップグレードしました。 一緒に Rails も 4.1.9 から 4.2.4 にアップグレードしました。 ここでは Cells についてやったことを書きます。
基本的なやり方は From Cells 3 to Cells 4 Upgrading Guide に説明がありますので ご参照ください。 バージョン 4 に変更するのは結構大変です。
ある人が外注に出していたプログラムを なぜか私がデザイン、マークアップ含めて更新することになり、 Rails と Gem のバージョンを更新しました。
その Rails のアプリケーションにテストコードは一切ありませんでした。
リリース前のプログラムに対して変更を行いました。
cell のテンプレートの中で device 関連のメソッドを使っていたり、 フォームタグ関連のメソッドを使っていると途端に動かなくなります。 そこで、 ApplicationCell を作成して 全ての Cell がそれを継承するように変更しました。
アプリケーションを見ながら 次のような ApplicationCell を作りました。 include で取り込んでいるモジュールは、 エラーが出る度に順次取り込んでいったものです。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
class ApplicationCell < Cell::ViewModel include Cell::Slim include ActionView::Helpers::DateHelper include ActionView::Helpers::TextHelper include ActionView::Helpers::NumberHelper include ActionView::Helpers::FormHelper include ActionView::Helpers::FormOptionsHelper include ERB::Util def self.helper_method(*) end def dom_class(record, prefix = nil) ActionView::RecordIdentifier.dom_class(record, prefix) end def dom_id(record, prefix = nil) ActionView::RecordIdentifier.dom_id(record, prefix) end end |
self.helper_method は devise が呼び出しているため、 呼べるようにしておくために作っています。 Cells では 既に意味のないメソッドになっているので、 何も処理は行いません。 この記述については 一部 Rails: Cells 3 から Cells 4 への アップグレード時に遭遇したエラー にも関連情報を書きました。
各 Cell クラス に helper ApplicationHelper というのが記述されていました。
Webrick を実行してページを開くと undefined method と表示されました。 そこで、 helper を include に変更しました。
sedコマンドを使って、 複数ファイルを一度に変更しました。
Cells 4 から メソッドが変わりました。 ビューの中で使用されている render_cell を cell に書き換えました。
いままで書いていた人がコードを綺麗に保っていたので、 sedコマンドを使って簡単に変更できました。 書き方が何通りもある場合は、簡単にはいきません。
|
1 |
= render_cell :cell_name, :method_name, option_1: 1, option_2: 2 |
|
1 |
= cell(:cell_name).(:method_name, option_1: 1, option_2: 2) |
cell のテンプレートが method_name.html.slim となっていましたが、 cell(:cell_name).(:method_name) で呼び出した場合、 method_name.slim のテンプレートを探してエラーとなりました。
cells/lib/cell/view_model.rb 内の find_template メソッド でテンプレートの名前を組み立てていますが、 そこでは 文字列 'html' を結合していません。
そこで、 テンプレートファイルの名前から html を抜きました。
こちらも間に合わせの対応でした。
過去のコードでは過去のコード cell のテンプレートから app/views/shared/something.html.slim を呼び出していました。
|
1 |
= render partial: 'shared/something', locals: {something: true} |
この呼び出し方だと、 Cells 4 ではうまくいきません。
cells/lib/cell/templates.rb と cells/lib/cell/view_model.rb を見ながら次のようにコードを変更しました。
|
1 |
= render prefixes: ['app/views'], view: 'shared/_something.html', locals: {something: true} |
prefixes と view を作るだけではなくて、 view の値も変える必要があります。
app/views内のテンプレートを呼び出す際のメソッドを ApplicationCell に作ったほうがよかったかもしれません。
Cell の中に self.view_paths += ['app/views'] を加えると、 app/views/cell_name の中でテンプレートを探すようになります。 つまり、次のように変更しても動くようになります。
|
1 |
= render view: '../shared/_something.html', locals: {something: true} |
東銀座にある 太常うどん 本店 に行ってきました。 がんばれば 500円 のワンコインランチにできます。 標準的な価格としては 600-700 円 くらいだと思います。

江戸時代から続く八百屋が から 始めたうどん屋です。
化学調味料を一切使わずに出汁をとっていて、 安心してつゆまで飲み干せるうどんになっています。 また 具材には 野菜が多く使われており、 その野菜も築地市場から直接仕入れた 国産の野菜を使っています。 野菜なので 季節に合わせて具材の種類も変わります。
麺に使用している塩も無添加の国産物を使っています。 また 麺に使っている小麦は 香川から仕入れているそうです。
お店の前には、 仕入れた旬の野菜が売られています。
下の写真は かけうどん と ごぼう を注文して 500円 にしたものです。

はなまるうどんや丸亀製麺のように、 まずうどんを注文して、 具材をとって乗せていくシステムです。
かけうどんが 450円 ですので、 かけうどんと 50円 の具材を組み合わせれば ワンコインランチ のできあがりです。 500円 にする組み合わせは かなり限定されますし、 ボリュームの点でもいまいちなので、 600-700円 を想定しておくのがいいと思います。
無添加へのこだわりと、 新鮮な野菜がいただけるので 500円 を超えても仕方ないかなと思います。
野菜が本当に新鮮でおいしいです。
店内全面禁煙です。
夜は一品料理や鍋もいただけます。 もちろんお酒も飲めます。
壁にはピアノがあります。 ジャズの演奏が行われることもあるそうです。 案内は店内または 太常うどんウェブサイト をご覧ください。
最寄り駅は東銀座と築地市場です。 銀座、築地、新橋、汐留からでも歩いていけます。 新富町、 銀座1丁目 からだと遠く感じるかもしれません。
PREMIUM PASS Vol. 3を持っていくと、 本来700円のなめこうどんが500円で食べられます。 PREMIUM PASS Vol. 3 には有効期限がありますのでご注意ください。 また、 Vol. 4 などの後のバージョンに載っているかどうかはわかりません。