更新:問題をキュウリレールの宝石がファンキーなことをしているに絞り込みました。バージョン 0.4.1 までは動作しますが、それ以降は以下のエラーが発生します。理由はまだわかりません。私はgemのクリーンインストールを行いましたが、役に立ちませんでした。
無関係なコンテンツを含むパラメーターに問題があります。
きゅうりのテストがフォームを送信し、隠しフィールドがあります
<% if @collection.new_record? && current_user.pseuds.size > 1 %>
<dt><%= label_tag "owner_pseuds[]", ts("Owner Pseud(s):") %></dt>
<dd><%= select_tag "owner_pseuds[]", options_from_collection_for_select(current_user.pseuds, :id, :name, current_user.default_pseud), :multiple => true %></dd>
<% else %>
<p><%= hidden_field_tag "owner_pseuds[]", [current_user.default_pseud.id] %></p>
<% end %>
Rails.logger.debug を使用すると、私の owner_pseud ID が 5 であることが示されます。しかし、フォームが POST されると、以下のように表示されます。
Started POST "/collections" for 127.0.0.1 at 2013-04-22 05:01:57 +0100
Processing by CollectionsController#create as HTML
Parameters: {"utf8"=>"✓", "owner_pseuds"=>["[\"5\"]"], "collection"=>{"name"=>"collection1", ...
ID=["5"] (ActiveRecord::RecordNotFound) の Pseud が見つかりませんでした
cucumber-rails (v. 1.3.1) と Capybara (v1.1.4) を使用しています。
これは私が取り組んでいるブランチです: https://github.com/scottsds/otwarchive/compare/upgrade_capybara_1_1_4。あなたが与えることができるどんな助けにも感謝します!
default_pseud は #< Pseud:0x0000000a224070 > を返します。これは正しいものです。