抱歉这个令人困惑的标题:)我有一个资源,ComatosePage(用于昏迷的cms插件),它有一个名为comatose_pages的表,其中有一个字段'full_path',其值如下:"en/home/logged-in/subscriber/school-top"
to设置一个路由,以便我可以使用此full_path字段从数据库加载ComatosePage,而不是标准的id字段,以便这个网址:
/comatose_admin/en/home/logged-in/subscriber/school-top
加载comatose_admin控制器的编辑操作,将comatose_admin / through之后的所有内容作为参数传递,即为rails生成:
Parameters: {:controller => "comatose_admin", :action => "edit", :full_path => "en/home/logged-in/subscriber/school-top"}
复杂的问题在于,字符串是用正斜杠分解的,我认为这会混淆路线。我可以设置路线以在“comatose_admin /”之后取出所有内容并将其放入单个参数中吗?
答案 0 :(得分:3)
您可以在路线中使用与正斜杠匹配的通配符。尝试这样的事情:
"/comatose_admin/*full_path"
然后params[:full_path]
应包含请求路径的其余部分。