在id参数中传递的rails不明确

时间:2013-07-06 14:37:14

标签: ruby-on-rails ruby

如果我有路线:

/users/9/follow

"9"就像这样:

Parameters: {"id"=>"9"}

但如果我有路线:

/images/6936/like

然后参数附加了图像:

Parameters: {"image_id"=>"6936"}

只是想知道我应该知道它是id还是resourcename_id

1 个答案:

答案 0 :(得分:0)

摘自Rails Routing from the Outside In

  

2.10.1添加成员路由

     

要添加成员路由,只需将成员块添加到资源中   块:

resources :photos do
  member do
    get 'preview'
  end
end
     

这将识别 / photos / 1 /预览 GET ,并路由到   PhotosController的预览动作,具有资源id值   传递给params[:id]。它还会创建 preview_photo_url   和 preview_photo_path 助手。

     

在成员路由块中,每个路由名称都指定HTTP   它会识别的动词。你可以使用get,patch,put,post或   删除这里。如果您没有多个成员路线,也可以   传递:开到一条路线,消除阻挡:

resources :photos do
  get 'preview', on: :member
end

你问题的实际答案在最后一段:

  

您可以省略:on选项,这将创建相同的成员   路由,但资源ID值可用   params[:photo_id]代替params[:id]