同じにやっても動かない

書いてある通りやっているのに動かないのです

rails

Cocoonでhas_oneな関連モデルのフォームを作りたいとき

ひさびさのRailsネタ。has_manyな関連モデルを一挙に 生成 / 更新 / 削除 できるフォームを作るのにとても便利なcocoon。 has_oneな関連モデル用フォームでも使いたいのだけど、link_to_add_association ヘルパーを普通に使うとうまく動きません。以下のよう…

もうなんにも覚えていない

久々に、そして初の商用サイトをRailsで開発しないといけなくなったけど、1年以上触っていないのでもう何も覚えていない。。

RspecのControllerテストでDragonflyのモデルに新規レコードを登録する

RspecのControllerテストでの添付ファイルの作り方がよくわからなかったのですが、こんな感じでできましたのでメモ。 Dragonflyのモデル定義のphoto.rbはこんな感じ。 class Photo < ActiveRecord::Base attr_accessible :photo_image end photo_controller_…

devise + Rspec でログイン状態のテストをしようとしたら動かなかった

今回も書いてあるとおりにやっていたつもりなのですが、動きませんでした。 そして、よく見たら書いてある通りにやっていなかったというお話です。やり方はここに書いてある通りです。 書いてある通りに書いた(つもり)specがこれ。 describe "ログインユーザ…

model.create / model.save は成功するのに model.all.count = 0になる on Rspec + FactoryGirl

SQLもWebアプリも難しいですね。 しょうもない事でハマってしまいました。 model単体のテストをRspec + FactoryGirlで書いていたのですが、model.create / model.save は成功する(trueが返ってきてレコードがちゃんとできる)のに、model.all.countはいつも0…

Deviseでconfirmableを設定しているときのFixtureの書き方

Deviseでconfirmableを設定していると、普通にemailとpasswordだけでFixtureを用意してもうまく行きませんでした。 user.createの時にconfirmation mailを送るため、それでこけているようです。createの前にskip_confirmation!を設定しても良いのですが、下…

ポリモーフィック関連のfactoryの書き方 on FactoryGirl

こんな感じで、polymorphic関連を設定しているとします。 # Photo model class Photo < ActiveRecord::Base belongs_to :category, :polymorphic => true end # Mountain model class Mountain < ActiveRecord::Base has_one :photo, :as => :category end #…

Dragonflyの画像ファイルを持つphotoモデルをRspec + FactoryGirl で testする

Dragonflyで画像ファイルを管理しているのですが、test方法のメモです。テスト環境は Rspec + FactoryGirl ですが、Unit testとFixtureでも同じだと思います。 Dragonflyはtest時以下ディレクトリからファイルを探します public\system\dragonfly\test\YYYY\…

limitの値によってクエリの結果が異なる

先日、"関連付けたモデルの属性で、関連元モデルをソートする"というエントリを書きましたが、これ、一見うまくいっているように見えるだけで、所望の結果が得られない場合があることがわかりました。Model.allで全レコードを取得したときにしか正しい結果が…

Dragonflyでファイルが本当に画像ファイルかチェックしたい

Dragonflyのドキュメントを見ると、ファイルの拡張子を見て画像ファイルかを判断しvalidationを行う例が載っています。例えばモデルにこの様に設定すると、指定拡張子のファイル以外はvalidationエラーとなります。 validates_property :format, :of => :pho…

フォームボタンもbootstrapのUIにしたら、operaで動かなくなった

フォームのボタンをbootstrapのUIにしたい form_forでフォームを生成するとファイル選択ボダンが普通のボタンになってしまい、せっかくbootstrapを使っているのに残念でなりません。ググってみると同じ事を思っている方は沢山いらっしゃるようで、先人の智恵…

ドラッグアンドドロップで写真をアップロードしてDragonflyで扱いたい on rails

facebookやtwitterのように、ブラウザにドラッグアンドドロップすると自動でアップロードしてプレビュー表示というのをやりたかったので、色々と試してみました。 ドラッグアンドドロップでアップロード この動作自体はjquery-html5-uploaderというプラグイ…

kaminariでbootstrapのUIを使いたい

ページネーションを導入する必要があったのでググってみたところ、kaminariというのが流行りのようでしたので、kaminariに決定しました。せっかくなので、bootstrapのUIを使いたい。 githubのドキュメントを読んでみると、kaminariはテーマを変えれば見た目…

関連付けたモデルの属性で、関連元モデルをソートする

【2013.8.10追記】この方法だと所望の結果を得られない場合があります。こちらのエントリも参照ください。 has_manyで関連付けた先のモデルが持っている属性で、元のモデルをソートしたくなりました。以下のような2つのモデルがあります。 class Spot < Acti…

twitter-bootstrap-rails のカスタマイズができない

twitter-bootstrap-railsのReadmeを読むと、bootstrap_and_overrides.css.lessで変数を上書きすれば色が変わるよと書いてあるのですが、何を書いても色が変わりません。おまけに、navigation bar の class="brand" リンクにマウスオーバーすると、黒くなって…

twitter-bootstrap-rails on windows

BootstrapをRailsで使ってみたかったので、このへんを参考にしてやってみたところ、毎度おなじみのgem installで早速つまずきました。やっぱりrailsやるならlinuxなんでしょうか。 サンクコストという言葉も頭に浮かんだのですが、グーグル先生に聞いたらな…

FacebookとかTwitterの画像アップロードみたいな動作をさせたい(form_for(multipart) + ajax + ファイル送信)

[追記] multipartのform_forをAjax化する場合の方法について記載しています。 普通のtext formであればform_forのオプションで:remote=>trueするだけでAjax化できるはずです。 FacebookとかTwitterで記事を作成するときに、写真を選択するとすぐにサーバーに…

ActionMailerとGmailと2段階認証

ActionMailerでGmailからメールを送信しようとしていなのですが、うまくいきません。 設定は下記の通りで、ググるとみんなこれで送信できております。 config.action_mailer.smtp_settings = { :enable_starttls_auto => true, :domain => 'gmail.com', :add…

test_helper.rb の setup() とかteardown()とか

コントローラーのテストでログインをエミュレートするために、下記のようなコードをtest_helper.rbに書けと本に書かれています。 class ActiveSupport::TestCase def login_as(user) session[:user_id] = users(user).id end def logout session.delete :use…

rails console が動かない

はいはい、本と同じに rails console をやっても下記の通りエラーを吐いて動きません。 > rails console C:/Ruby193p392/lib/ruby/1.9.1/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError) ....なになに、readlineがないん…

has_secure_password が動かない その2

has_secure_passwordは、次の手順じゃないと動かなかった。 password_digest で scaffold passwordとか、passowrd_hogeとかでやるとダメ。 > rails g scaffold User name:string password_digest:string モデルの修正 scaffoldが作ったままだと attr_accessi…

Rails、お前もか ( has_secure_password が動かない )

セキュアなログイン機能の実装。いつものように本に書いてある通りやりましたよ~ モデルに has_secure_password を追記。 class User < ActiveRecord::Base attr_accessible :name, :password_digest validates :name, presence: true, uniqueness: true ha…

redirect_to @model て何よ

railsでscaffoldすると、controllerに redirect_to @modelってのが出来て来ます。 こんな感じ。 def create @model = Model.new(params[:model]) respond_to do |format| if @model.save format.html { redirect_to @model, notice: "model was successfully…

Windows7でRails3 + NetBeans + デバッガー が動かない

Rails3のコーディング環境としてNetBeansを使っております。 せっかくNetBeans使っているのでどうしてもデバッガーを動かしたくなりました。ググってみると皆様苦労されているようでして、成功事例はいくつかあるものの、その通りやってもいつもの通りうまく…