这个问题以前有人问过,但这是一个更具体的例子。
在Ruby on Rails的“入门”[http://guides.rubyonrails.org/getting_started.html]网页中,他们教你如何创建一个简单的博客我正在跟踪其中的大部分内容,但我不知道这是从何而来:article\u id key value来自:
def create
@article = Article.find(params[:article_id])
...some other stuff...
end
它位于web应用的CommentsControl中所有与文章相关的编码都在ArticlesControl中。
下划线是否指示该id所属的类意思是这个键值首先找到项目params数组,然后找到id本身吗像是RoR的一个特点或者这个符号仅仅是为了教学目的而放在那里,实际上并没有提到任何东西?
如果是后者,您如何知道要使用的键值?
GET data显示在URL中,但是在调用URL之前,如何设置它来知道它是什么?
最佳答案
您的routes.rb
定义了路由,匹配的路由中可能有可变段,可变段通过控制器中的params
散列提供给您。
如果您使用的是params[:article_id]
,则引导您执行该操作的路径将包含以下内容:
/articles/:article_id
params
还将包含通过查询字符串或表单数据传递的任何值,但就按其ID查找记录而言,ID通常是URL的一个组件。下划线是否指示该id所属的类?
不,这只是名字的一部分。
如果是后者,您如何知道要使用的键值?
因为您定义了要在路由文件中使用的密钥。