我正在从 Michael Hartl 的教程中学习 Rails ,我对符号的工作方式/使用方式有点困惑。
以下是注册页面测试的代码片段:
describe "signup" do
before { visit signup_path }
let(:submit) { "Create my account" }
describe "with invalid information" do
it "should not create a user" do
expect { click_button submit }.not_to change(User, :count)
end
end
我的问题是,这不应该click_button :submit
是冒号(:) 吗?
我知道符号就像不可变的字符串,不能像:submit = "Create my account"
. 但是,该let()
方法究竟做了什么?
我有 Java 背景,我对符号概念有点困惑。