私はRuby on Railsを初めて使用し、レールブックを使用したアジャイルWeb開発を読んでいます。私はイテレーション B1: 検証に取り組んでいます。テストに取り組んでいる間、シンボル :product に本当に混乱しています。質問は「:product => @update」に関するものです。これが何を意味し、:product シンボルがどこから来たのか、私には本当にわかりません。私はそれがハッシュであることを知っていますが、どのテーブルにハッシュしますか? ここで正確に何をしますか?コードは次のとおりです。前もって感謝します。
require 'test_helper'
class ProductsControllerTest < ActionController::TestCase
setup do
@product = products(:one)
@update = {
:title => 'Lorem Ipsum',
:description => 'Wibbles are fun!',
:image_url => 'lorem.jpg',
:price => 19.95
}
end
test "should get index" do
get :index
assert_response :success
assert_not_nil assigns(:products)
end
test "should get new" do
get :new
assert_response :success
end
test "should create product" do
assert_difference('Product.count') do
***post :create, :product => @update***
end
assert_redirected_to product_path(assigns(:product))
end
# ...
test "should show product" do
get :show, :id => @product.to_param
assert_response :success
end
test "should get edit" do
get :edit, :id => @product.to_param
assert_response :success
end
test "should update product" do
put :update, :id => @product.to_param, :product => @update
assert_redirected_to product_path(assigns(:product))
end
# ...
test "should destroy product" do
assert_difference('Product.count', -1) do
delete :destroy, :id => @product.to_param
end
assert_redirected_to products_path
end
end