Ruby on rails NoMethodError:未定义的方法'assert_select_rjs';

Ruby on rails NoMethodError:未定义的方法'assert_select_rjs';,ruby-on-rails,ruby,Ruby On Rails,Ruby,下面是“使用Rails进行敏捷Web开发”第四版中的示例。我在第11.5节测试Ajax更改 发展于: Ubuntu 11.10 RVM | ruby 1.9.3 | rails 3.1 这是一个奇怪的错误: 测试\u应该\u通过\u ajax创建\u行\u项\u(LineItemsController测试): NoMethodError:未定义的方法'assert\u select\u rjs' 这是第_items _controller _test.rb行的代码 test "should cr

下面是“使用Rails进行敏捷Web开发”第四版中的示例。我在第11.5节测试Ajax更改

发展于: Ubuntu 11.10 RVM | ruby 1.9.3 | rails 3.1

这是一个奇怪的错误: 测试\u应该\u通过\u ajax创建\u行\u项\u(LineItemsController测试): NoMethodError:未定义的方法'assert\u select\u rjs'

这是第_items _controller _test.rb行的代码

test "should create line_item via ajax" do
assert_difference('LineItem.count') do
  xhr :post, :create, :product_id => products(:ruby).id
end

assert_response :success

assert_select_rjs :replace_html, 'cart' do
  assert_select 'tr#current_item td', /Programming Ruby 1.9/
end
end

assert\u select\u rjs
用于ActionController,但仍然是的一部分

这本书使用的是旧版本的Rails

有关详细信息,请参阅文档。上面写着:

方法已弃用或移动

此方法已被弃用或在上移动 最新稳定版本。显示了最新的现有版本(v2.3.8) 在这里

RJS
通常在Rails 3中的工作方式非常不同。请看这里:


这个方法现在可以在
ActionDispatch
中找到:

你的答案比我的好很多谢谢大家,有两个问题。。。1.在rails 3.1中使用assert\u select\u rjs有推荐的替代方案吗?2.如果我要使用ActionDispatch,我该怎么做?代码是什么样子的?