【发布时间】:2011-01-02 17:54:06
【问题描述】:
您能告诉我如何禁用 rails 路线中的 .:format 选项吗?我只需要html...
【问题讨论】:
标签: ruby-on-rails routing formatting ruby-on-rails-3
您能告诉我如何禁用 rails 路线中的 .:format 选项吗?我只需要html...
【问题讨论】:
标签: ruby-on-rails routing formatting ruby-on-rails-3
至少在 3.1.1 中,您可以将 , :format => false 添加到路由的末尾。
在这里找到:http://guides.rubyonrails.org/routing.html#request-based-constraints 在第 3.11 节 Route Globbing 下
例如..
match '*pages' => 'pages#show', :format => false
这将允许 params[:pages] 包含句点。
【讨论】:
http://guides.rubyonrails.org/routing.html#request-based-constraints
这将限制您的路线只接受 html 格式:
constraints :format => "html" do
resources :posts do
resources :comments
end
end
但是,它不会从您的 rake routes 输出中删除 (.:format) 部分。
【讨论】:
您可以将路线包裹在范围内(Rails 4):
scope format: false do
# your routes here
end
【讨论】:
如果你想要漂亮的 URL 而你不喜欢 :format => false,你可以试试这个:
# :format must match the empty string
constraints :format => // do
resources :monkeys
end
即使使用with_options,:format => false 选项也很麻烦,尤其是在您有很多路线的情况下。
【讨论】: