0

我注意到 jquery.com 使用 /nameOfMethod 作为路由约定。利用这一点来引用上一个堆栈问题的来源,我打错了 www.jquery.com/next -> www.jquery.com/nex 我发现令人惊讶的是路由足够聪明,可以正确地看到名称的相似性(可能是错误的)路由我。我对后端编程非常陌生。我刚刚完成了我在 Ruby on Rails 中的第一个项目。该项目让我接触到了诸如关联、CRUD、MVC 之类的东西,以及大量我从未知道的东西。我越来越意识到网络是如何工作的,而这种知识渊博的路由让我很感兴趣。

Ruby on Rails一个例子为例,如何实现这种智能路由?我可以通过 Google 搜索哪些词来了解有关此过程的更多信息?这种交互在后端编程的兔子洞里有多难或有多深?有什么比这种互动更重要的东西,更前沿的东西,你可以建议吗?

4

1 回答 1

1

所以,routes.rb你会做类似的事情

match '/:itemname', to items#show

在 Items 控制器中,您将拥有

def show
    item = Item.where("itemname like ?", "#{params[:itemname]}%").to_sql
    redirect_to item
end

本质上你是

  1. 将 root_url/name_of_an_item 映射到控制器中的操作
  2. 形成一个 SQL 查询,该查询在 itemname 之后采用通配符,用于
  3. 将用户重定向到相关项目的路线。

我的示例在语法上可能不正确,但这就是它背后的逻辑。前往http://guides.rubyonrails.org/index.html并阅读路由和查询界面指南。那里的一切都很棒,但尤其是这两个可能有助于了解更多关于这类事情的信息。

于 2013-07-16T23:05:13.453 回答