Ruby on rails 为什么RubyonRails使用;链接到。。。方法::删除“;?
我刚刚开始学习RubyonRails,这是一个新手问题 是的Ruby on rails 为什么RubyonRails使用;链接到。。。方法::删除“;?,ruby-on-rails,Ruby On Rails,我刚刚开始学习RubyonRails,这是一个新手问题 是的 $ rails generate scaffold Product blah blah... 下面是scaffold生成的视图文件的片段 <td class="list_actions"> <a href="/products/1">Show</a><br/> <a href="/products/1/edit">Edit</a><br/> <
$ rails generate scaffold Product blah blah...
下面是scaffold生成的视图文件的片段
<td class="list_actions">
<a href="/products/1">Show</a><br/>
<a href="/products/1/edit">Edit</a><br/>
<a href="/products/1" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Destroy</a>
</td>
我的问题是,
为什么RubyonRails会以这种方式生成“Destory”的链接?将方法更改为“HTTP DELETE”…等等
而不是以更直接的方式进行,
i、 e
因为默认情况下您有,并且默认情况下删除方法用于销毁操作,PUT方法用于更新。因此,如果您以这种方式创建链接:
<a href="/products/1/delete" data-confirm="Are you sure?">Destroy</a>
然后,它将指向获取url的操作
/products/:id/delete
,并且仅当您在routes.rb
文件中定义该路由时才有效,因为默认情况下您有,并且默认情况下delete方法用于销毁操作,PUT方法用于更新。因此,如果您以这种方式创建链接:
<a href="/products/1/delete" data-confirm="Are you sure?">Destroy</a>
然后,它将指向获取url的操作
/products/:id/delete
,并且仅当您在routes.rb
文件中定义该路由时才有效,因为它是语义的
尽管web浏览器通常只发送HTTP GET和POST请求,但请求的语义意图是它们用动词一一映射:
- 后期创建
- 阅读
- 放置更新
- 删除
。。。而且,从实用的角度来看,足智多谋的路线反映了这一点。因为它是语义的 尽管web浏览器通常只发送HTTP GET和POST请求,但请求的语义意图是它们用动词一一映射:
- 后期创建
- 阅读
- 放置更新
- 删除
。。。而且,从实用的角度来看,资源丰富的路由反映了这一点。如果谷歌机器人发出GET请求对您的网站进行爬网,它可能最终会删除您的所有产品@丹尼尔·努布问题。机器人程序是否只通过GET(不是POST、DELETE、PUT等)方法抓取链接?是的,机器人程序通常只发出GET请求,尽管谷歌机器人似乎正在试验POST请求[如果谷歌机器人发出GET请求来抓取你的网站,它可能会删除你的所有产品!@daniel nub question。机器人是否只抓取带有GET方法的链接(而不是POST、DELETE、PUT等)?是的,机器人通常只发出GET请求,尽管谷歌机器人似乎正在试验POST请求[