В :text => /Log In/
вы передаете хэш функции page
link_with
, ключ в хэше - :text
и соответствующее ему значение - /Log In/
.
В основном: :x => y
означает, что :x
- это ключ в хэше, который отображается на значение y
.
Передача хешей таким функциям позволяет вам иметь что-то вроде (но не совсем) именованных параметров.
UPDATE:
Символ вида :something
называется .... символом! Вы можете думать о них как о глобальных строковых константах (но они не совсем одинаковы). Теперь, когда вы вспоминаете что-то вроде:
login_page.form_with(:action => '/account/login.php')
На самом деле вы создаете новый хэш на лету. Вы создаете новый элемент в хэше, где ключом является строка со значением «action», а значением этого элемента является «/account/login.php» (в данном случае это также строка, но я почти наверняка вы можете хранить другие вещи в хешах, кроме строк).
... гмм! Прошло много времени с тех пор, как я работал с Руби. Надеюсь, я все понял правильно. ;)
Некоторые хорошо выглядящие страницы здесь (более подробную информацию можно найти в поиске Google "ruby symbol")
http://glu.ttono.us/articles/2005/08/19/understanding-ruby-symbols
http://www.troubleshooters.com/codecorn/ruby/symbols.htm#_What_are_symbols