我正在学习Michael Hartl的Tutorial中的Rails,我对符号如何工作以及如何使用它有点困惑。如何在Ruby中使用符号
这里是注册页面的测试代码片段:
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背景,我有点与符号概念混淆。
感谢您的解释。这真的有帮助。我明白了Let方法为什么需要这个符号。我不确定为什么有人会对这个答案投下赞成票。我会稍微接受这一点。 –