Je rencontre des problèmes avec le test de vue RSpec. J'utilise des ressources imbriquées et le modèle avec une association belongs_to.RSpec: impossible de convertir l'image en chaîne lors de l'utilisation de la ressource imbriquée
Voici ce que j'ai jusqu'à présent:
describe "/images/edit.html.erb" do
include ImagesHelper
before(:each) do
@image_pool = stub_model(ImagePool, :new_record => false,
:base_path => '/')
assigns[:image] = @image =
stub_model(Image,
:new_record? => false,
:source_name => "value for source_name",
:image_pool => @image_pool)
end
it "renders the edit image form" do
render
response.should have_tag("form[action=#{image_path(@image)}][method=post]") do
with_tag('input#image_source_name[name=?]', "image[source_name]")
end
end
end
L'erreur que je reçois:
ActionView::TemplateError in '/images/edit.html.erb renders the edit image form'
can't convert Image into String
On line #3 of app/views/images/edit.html.erb
1: <h1>Editing image</h1>
2:
3: <% form_for(@image) do |f| %>
4: <%= f.error_messages %>
5:
6: <p>
app/views/images/edit.html.erb:3
/opt/dtcm/railstest/lib/ruby/gems/1.9.1/gems/rspec-rails-1.3.2/lib/spec/rails/extensions/action_view/base.rb:27:in `render_with_mock_proxy'
/opt/dtcm/railstest/lib/ruby/gems/1.9.1/gems/rspec-rails-1.3.2/lib/spec/rails/example/view_example_group.rb:170:in `render'
En regardant le code de rails où l'exception se produit est pas très révélateur. Des idées sur comment je peux affiner ce qui se passe ici? Une chose que j'ai essayée appelait form_for directement à partir de l'exemple et j'ai eu une erreur différente saisissant l'absence de 'polymorphic_path' défini sur Spec :: Rails :: Example :: ViewExampleGroup :: Subclass_4: 0xblah. Je ne sais pas si cela signifie vraiment quelque chose.