0

我正在尝试为一个简单的应用程序的 posts/show.html.erb 视图编写规范,我将其放在一起学习 rspec。此刻我有点难以理解额外的“%2F”是从哪里来的。有任何想法吗?

我的规格...

  it "should render a form to add a comment" do
    render "posts/show.html.erb"
    response.should have_selector("form[method=post]", :action => post_comments_path([@post, @comment])) do |form|
      form.should have_selector("input[name='comment[author_name]']")
      form.should have_selector("textarea[name='comment[body]']")
      form.should have_selector("input[type=submit]")
    end
  end

带有额外 %2F 的规范输出...

'posts/show.html.erb should render a form to add a comment' FAILED
expected following output to contain a <form[method=post] action='/posts/1001%2F/comments'/> tag:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body>
<p>#[Post:0x1288146 @name="Post_1001"]
#[Post:0x1288146 @name="Post_1001"]
#[Post:0x1288146 @name="Post_1001"]


Comments<br></p>
<form action="/posts/1001/comments" class="new_comment" id="new_comment" method="post">

</form>
</body></html>

./spec/views/posts/show.html.erb_spec.rb:13:
4

2 回答 2

0

您的 post-id 是否以某种方式有尾随空格?

于 2009-08-03T05:10:37.453 回答
0

您的 form_for 在 erb 中是什么样的?Rspec 对于在 Rails 中正常工作的某些路由场景可能会表现得很奇怪。

您使用的是哪个版本的 rspec(并且您最近是否更新过)?

你为什么要规范你的观点而不是仅仅使用黄瓜?

于 2009-08-04T01:08:17.433 回答