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