首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails教程,Michael,第9章(清单9.52)

Rails教程,Michael,第9章(清单9.52)
EN

Stack Overflow用户
提问于 2016-06-06 19:58:52
回答 1查看 100关注 0票数 2

在文件中

_user.html.erb

代码语言:javascript
复制
<li>
<%= gravatar_for user, size: 52 %>
<%= link_to user.name, user %>
<% if current_user.admin? && !current_user?(user) %>
| <%= link_to "delete", user, method: :delete,data: { confirm: "You sure?" } %>
<% end %>
</li>

为什么我需要5号线上的管道?如果没有管道,它就会失败,因为它期望“删除”,但只查找“配置文件”。当我把管子放进去时,所有的测试都通过了。我不明白为什么我需要烟斗。

编辑:

感谢那些指出它在<%标记之外的人,这意味着它只是HTML中的文本。所以这是测试,在文件users_index_test.rb ..。

代码语言:javascript
复制
  test "index as admin including pagination and delete links" do
    log_in_as(@user)
    get users_path
    assert_template 'users/index'
    assert_select 'div.pagination'
    first_page_of_users = User.paginate(page: 1)
    first_page_of_users.each do |user|
      assert_select 'a[href=?]', user_path(user), text: user.name
      unless user == @admin
        assert_select 'a[href=?]', user_path(user), text: 'delete'
      end
    end
    assert_difference 'User.count', -1 do
      delete user_path(@non_admin)
    end
  end

所以我想问题不再是关于管道的了。这是为什么我的测试套件失败的消息:

代码语言:javascript
复制
test_index_as_admin_including_pagination_and_delete_links#UsersIndexTest (1460776244.08s)
        <delete> expected but was
        <Profile>..
        Expected 0 to be >= 1.
        test/integration/users_index_test.rb:19:in `block (2 levels) in <class:UsersIndexTest>'
        test/integration/users_index_test.rb:16:in `block in <class:UsersIndexTest>'

顺便说一下,第19行写着`assert_select 'ahref=?',user_path(用户),文本:‘删除’,第16行是循环开始的地方。

编辑2: UUUUGHGHH这个测试有时会失败。太困惑了。现在它已经过去了,我没有对相关文件进行编辑。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-06 20:30:49

管道不是密码。它在嵌入式Ruby标记之外。在这种情况下,他所做的就是把他想要显示在HTML中的字符。如果if语句失败,上述代码将导致显示以下内容:

乔·史密斯

...but如果成功,将显示以下内容:

乔·史密斯 x- 删除

管道所做的就是在用户名("Joe“)和"Delete”链接之间显示管道。如果将管道替换为"12345",它将显示:

乔·史密斯 12345 删除

增编

没有看到失败的测试,我不能说为什么失败,但很明显,人们期望管道会出现,所以测试很可能是为了适应这种情况而编写的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37665867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档