我是Rails的初学者,并且将旧版本4.0与Rspec一起使用。我想在我的路线遵循的控制器上进行测试。
/properties/:property_id/build
我可以通过编写以下内容来测试/ properties / 1
get :show, id: properties
expect(response).to have_http_status(:success)
但不确定如何将属性的ID号写入路径上方的控制器。这意味着要显示必须放置属性id并进行构建的方法,但稍后要进行更新时,我必须放置两个参数。
答案 0 :(得分:2)
您可以使用类似参数的property_id
get :build, params: { property_id: property.id } #You pass additional parameters with this.
此处:property_id
中的property_id为/properties/:property_id/build
答案 1 :(得分:1)
如果是get
请求,则
get :build, params: {id: properties, second_param: "something" }
(假设properties
是示例中的Property
对象,第二个参数是second_param
)
答案 2 :(得分:0)
我是一个初学者,所以我认为我对路由和控制器测试有不正确的理解。由于仍然出现错误,并且在与另一位程序员讨论之后。我终于使用以下模式解决了问题。
get :new, property_id: property.id