我有static_controller
index
行动需要身份证件
我的路线
get 'faqs' => 'static#main'
get 'faqs/:id' => 'static#index'
但如果我使用此路径faqs_path(faq_id)
我会
http://localhost:5000/faq.1
代替http://localhost:5000/faq/1
有人能告诉我如何解决这个问题。谢谢..
答案 0 :(得分:2)
您可能需要正确命名:
get 'faqs' => 'static#main', as: 'faqs'
get 'faqs/:id' => 'static#index', as: 'faq'
通常你会在resources
尝试遵守REST约定的情况下执行此操作,但在您的情况下,如果您真的需要这些,则必须指导路由器。
使用rake routes
检查名称是否正确。您可能一直使用faqs_path
作为可选的id
说明符调用:format
。
答案 1 :(得分:0)
我认为您的问题在这里是相同的路线名称,您可以将您的名称更改为:
get 'faqs/:id' => 'static#index'
get 'faqs' => 'static#main'
到
get 'faq/:id' => 'static#index'
get 'faqs' => 'static#main'
您的path
是:faq_path(faq_id)
告诉我它是否无效。
答案 2 :(得分:0)
faqs_path(:id => faq_id)