class ActionDispatch::Routing::Mapper
Public Instance Methods
embeddable() { || ... }
click to toggle source
Define Resources that should be embeddable. The routes defined within the block are transferred to the application in duplicated form. Once normally, as they would always work, and once under an embed scope. The name of the scope can be set in config (default: 'embed'). All paths under the embed scope are sent without X-Frames-Options header, so they can be displayed in a frame. All other paths are sent normally (Rails default X-Frames-Options = SAMEORIGIN).
Examples¶ ↑
Assuming the following route definition:
get 'path_private', to: 'application#path_private' embeddable do get 'path_embed', to: 'application#path_embed' end
will produce following routes:
path_private GET /path_private(.:format) application#path_private path_embed GET /path_embed(.:format) application#path_embed embed_path_embed GET /embed/path_embed(.:format) application#path_embed {:embedded=>true}
# File lib/embed_me/rails/routes.rb, line 23 def embeddable yield scope EmbedMe.scope_name.to_s, as: EmbedMe.scope_name.to_s, embedded: true do yield end end