【发布时间】:2018-03-10 22:20:02
【问题描述】:
当我使用 rails test 执行测试时,我得到了一些非常奇怪的东西。
我正在尝试理解并创建我的第一个控制器测试,但我得到了一些意想不到的结果。
我在控制台中收到此错误:
F
Failure:
FeedbacksControllerTest#test_should_create_resource [/Users/Daniel/GitHub/haeapua-rails/test/controllers/feedbacks_controller_test.rb:15]:
Expected response to be a <2XX: success>, but was a <302: Found> redirect to <http://www.example.com/>
Response body: <html><body>You are being <a href="http://www.example.com/">redirected</a>.</body></html>
这是我的测试
test "should create resource" do
assert_difference 'Feedback.count', 1 do
post feedbacks_url, params: { feedback: { email: "me@myemail.com", summary: "my feedback", rating: 5 } }
end
assert_response :success
assert_redirected_to root_url
end
这是我的控制器
class FeedbacksController < ApplicationController
# GET /feedbacks/new
def new
@feedback = Feedback.new
# @feedback.user = current_user if user_signed_in?
end
# POST /feedbacks
def create
@feedback = Feedback.new(feedback_params)
# @feedback.user = current_user if user_signed_in?
if @feedback.save
# flash[:info] = "We got it, thanks. Someone will contact you ASAP once we read it"
redirect_to root_url
else
render :new
end
end
private
def feedback_params
params.require(:feedback).permit(:email, :summary, :rating)
end
end
当我在redirect_to 之前的反馈控制器中放置一个“puts root_url”时,我得到了"http://www.example.com/" 的值。我在整个代码中搜索root_url,而我唯一拥有的部分是在控制器和我的路线中root to: 'static_pages#concept'
我正在使用设计,你认为可能是因为这个吗?我有点迷茫,不知道从哪里开始寻找!
【问题讨论】:
-
你用水豚吗?
-
是的,我确实安装了 gem。嗯,明天研究一下。
标签: ruby-on-rails debugging model-view-controller ruby-on-rails-5