Ruby on rails model_path()方法是如何工作的
我是RubyonRails新手,为了学习,我一直在玩一些开源代码 我在理解Ruby on rails model_path()方法是如何工作的,ruby-on-rails,Ruby On Rails,我是RubyonRails新手,为了学习,我一直在玩一些开源代码 我在理解model\u路径(@model)方法返回什么以及如何更改它时遇到了一些问题。具体来说,我有一个带有id和slug的模型,由于某种原因model\u path(@model)总是返回带有slug的路径,而不是id 有没有关于为什么会这样以及我如何改变这种行为的想法 model_path(@model) 将生成此URL /model/:id 它将用任何@model.替换:id。to_param返回谢谢!代码现在更有意义
model\u路径(@model)
方法返回什么以及如何更改它时遇到了一些问题。具体来说,我有一个带有id
和slug
的模型,由于某种原因model\u path(@model)
总是返回带有slug
的路径,而不是id
有没有关于为什么会这样以及我如何改变这种行为的想法
model_path(@model)
将生成此URL
/model/:id
它将用任何
@model.替换:id
。to_param
返回谢谢!代码现在更有意义了。是否有一种简单的方法可以生成一个添加自定义路由的路径。匹配“/:id/:slug',:to=>“您的_控制器#显示”,:as=>:自定义_模型。然后,您可以在视图中使用此自定义\模型\路径(@model.id、@model.slug)。但是我觉得这不是一个好的解决方案,最好让to_param方法返回id和slug,这样url就会是这样的“/model/12 blabla”我也喜欢12 blablah,但是控制器使用params[:id]不是更难吗?为了找到模型实例,它需要解析slug或id,对吗?如果您使用的是MySQL,那么不需要解析。使用这些参数进行开箱即用的工作