我明白符号和字符串是不一样的,但我不明白符号的概念。
据我了解,符号指的是别的东西。我在这里使用“引用”一词是为了更好地理解,而不是在 C/C++ 指针或引用的意义上。
当我在 Rails 中创建一个新控制器时,使用类似的东西
rails g controller Posts
,Ruby 会自动创建一个新的符号:posts
,它指的是Posts
控制器吗?这个:posts
符号是否可以从应用程序的任何地方全局访问?只有在这种情况下,我才能理解这样的结构:resources :posts
Ruby 可以自己翻译:“好的,我知道:posts
指的是posts_controller
,所以我需要为该控制器创建 CRUD 路由”。我对吗?
在这个例子中,符号
:title
和有什么作用?:content
我假设这form.label
相当于form.label(:title)
.<%= form_for @post, :html => {:class => "new_post"} do |form| %> <%= form.label :title %><br> <%= form.text_field :title %><br> <%= form.label :content %><br> <%= form.text_area :content %><br> <%= form.submit("Add new post") %>
:all
是否有在途中创建的内置符号,例如和 符号?当我说在路上时,正如我在创建一些方法时所看到的那样:def something ... end
Ruby 是否创建一个新符号
:something
,它将引用方法something
?如果这是正确的,为什么我需要那个符号,我在哪里可以使用它?@posts = Post.all #Or Post.all() => Standard OOP approach, i know what happens here @posts1 = Post.find(:all) # Dont know what happens here
怎么样
@posts1
,我在这里做什么?这里是什么:all
意思?Ruby 知道它必须Post
从 DB 中提取每个值,是不是某个常量值(不是字符串)?