Я пришел из Python и Java с базовыми знаниями CSS, HTML, Ruby и пытаюсь изучить веб-разработку с использованием Ruby on Rails.Я пытаюсь следовать руководству по Michael Hartl .У меня постоянно возникают проблемы с чтением правильного API или даже с пониманием того, что делает API, когда я делаю, потому что кажется, что есть много способов вызвать определенный метод, и примеры там не показаны полностью.В частности, я не понимаю, как с какими аргументами работает метод assert_select
в листинге 7.25.
require 'test_helper'
class UsersSignupTest < ActionDispatch::IntegrationTest
test "invalid signup information" do
get signup_path
assert_no_difference 'User.count' do
post users_path, params: { user: { name: "",
email: "user@invalid",
password: "foo",
password_confirmation: "bar" } }
end
assert_template 'users/new'
assert_select 'div#<CSS id for error explanation>'
assert_select 'div.<CSS class for field with error>'
end
.
.
.
end
Ссылаясь на Онлайн-API , если использовать assert_select
без блоков кода, мы будем использовать 2 аргумента.Однако здесь есть только 1 в каждом из 2 примеров, с #
и .
, и я не слишком знаком, если это какой-то синтаксис Rails / Ruby / CSS, происхождение синтаксиса кажется смешанным.
Может ли кто-нибудь просветить меня, чего мне здесь не хватает?Я не слишком знаком, когда использовать #
и когда использовать .
, и как мы можем «сократить» количество аргументов.Кажется, что в пунктуациях, подобных _
, всегда много шансов, которые здесь не показаны.