2016年7月24日 (日)

[Ruby][Rails] ActionCable in Agile Web Development with Rails 5

Agile Web Development with Rails 5 には、ActionCable を使う例が登場するのだけど、これが動作しない。の続き。

結局、errata を良く読み返してみて、app/channels 直下に products_channel.rb を配置すれば動くことがわかった。

更に、

class ProductsChannel < ActionCable::Channel::Base

よりも

class ProductsChannel < ApplicationCable::Channel

とした方が良さそう。

$ rails g channel products 

と実行して生成されるファイルでは、そうなっている。

| | コメント (0) | トラックバック (0)

2016年7月17日 (日)

[Ruby][Rails] ActionCable in Agile Web Development with Rails 5

Agile Web Development with Rails 5 には、ActionCable を使う例が登場するのだけど、これが動作しない。

Subscription class not found: "ProductsChannel"

写経している自分のコードが間違っているのかと思い、書籍のページからダウンロードしたソースを試してみたが、やっぱり同じエラー。 Vagrant 環境で試しているせいかと思って、ローカル環境で試してみても同じエラー。 errata を見てみたら、同じ現象が既に報告されていたので、自分の環境固有の問題ではなさそう。

ところで、ActionCable のサンプルをWebで眺めていると大概、redis をインストールしているのだが、この本ではインストールしていないし、config/cable.yml には

development:
  adapter: async

となっていて、redis を使うようになっていない。開発環境では、redis がなくても、ActionCableが動作するのだろうか?

... githubを読むとどうもそうらしい。

| | コメント (0) | トラックバック (0)

[Ruby] Rails の render

Agile Web Development with Rails 5 を読んでいて初めて知った(ちゃんと認識した)こと。

View の中で

render @cart

とやると _cart.html.erb の中では、 cart を使って @cart にアクセスできる。

| | コメント (0) | トラックバック (0)

2016年7月 9日 (土)

[Ruby] Ruby or Rails

Ruby の機能か Rails の機能かを選択するクイズを10問出題するサイト。

Ruby or Rails

10問中9問しか正解できんかった。

| | コメント (0) | トラックバック (0)

2016年5月 7日 (土)

[Soft] Vagrant と Ubuntu 16.04

ふと思いたって、Vagrant で Ubuntu 16.04 を試してみようと思ったのだが、エラーが出てしまった。 Vagrant の設定を書き替えてみたり、Ubuntu 16.04 のイメージを別のにして試してもみたのだが、症状は変わらず。

Googleで探してみると vagrant の issue と同じ現象。

で、 このissue の中のコメント にあるように

geerlingguy/ubuntu1604 を試してみたところ、ようやくエラーなしで起動できた。

本当にやりたかったことは、Ubuntu 16.04 を起動することではなくて、その先にあるのだけど、ここで力尽きてしまった。

| | コメント (0) | トラックバック (0)

2016年2月29日 (月)

[Rails] Rails というか ActiveRecord というか Arel で SQL の case

いろいろ調べてみたが、Rails 5 beta3 でもまだ駄目だった。

<https://github.com/rails/arel/pull/400>

が arel にマージされているので近い将来には、arel を使えば、SQL の case に相当するものを arel を使って書けると思われる。

Rails 5 beta3 でインストールされるのは、arel-7.0.0 だったが、これには 残念ながら、含まれていなかった。

なので、普通に case を文字列で渡してやるしかない。

scope :sel_case_col1, -> { select( "case when col1 = 'AAA' then 'aaa' else col1 end as col1" ) }

| | コメント (0) | トラックバック (0)

2016年1月 9日 (土)

iPod nano が充電できなくなった

充電式の掃除機が駄目になったのに続いて、iPod nano も充電ができなくなってしまった。 買い替えるかなあ。

| | コメント (0) | トラックバック (0)

ssh の known_hosts

このknown_hostsの話が何か唐突で、何のことだろうかと思っていたのだが、そういうことだったのかとようやくわかった。 正月明けから風邪で体調が悪くて、ci.ruby-lang.org は、ずっとアクセスしていなかった(他のRuby関連の情報もちゃんと見てなかった)ので気づかなかった。 私は、素直に、-R オプションを使った。

| | コメント (0) | トラックバック (0)

2015年12月29日 (火)

掃除機を買った

今までコードレスの充電式の掃除機を使っていたのだが、寿命がきたのか、充電できなくなってしまった。 だましだまし使っていたのだが、さすがに限界がきたみたい。 この際だから、新しいのに買い替えることにした。 今までの使い方から考えると持ち運びが楽であれば、充電式でなくてもいいと考えて、充電式じゃない掃除機で一番軽いのを家電量販店で選択。

| | コメント (0) | トラックバック (0)

2015年12月26日 (土)

[Ruby] Ruby 2.3.0

Ruby 2.3.0 がリリース。[ruby-list:50266]

毎回、感心するのだが、このリリースにすぐに追随してくれるrbenv(ruby-build)がすごい。

$ rbenv install -l | grep \ 2.[234]
2.2.0-dev
2.2.0-preview1
2.2.0-preview2
2.2.0-rc1
2.2.0
2.2.1
2.2.2
2.2.3
2.2.4
2.3.0-dev
2.3.0-preview1
2.3.0-preview2
2.3.0
2.4.0-dev

ということで、

$ rbenv install 2.3.0; rbenv install 2.3.0-dev; rbenv install 2.4.0-dev

| | コメント (0) | トラックバック (0)

«[Ruby] RubyKaigi 2015(2日目)