Avoid using format as a URL parameter name
authorTom Hughes <tom@compton.nu>
Fri, 2 Jun 2017 20:53:53 +0000 (21:53 +0100)
committerTom Hughes <tom@compton.nu>
Sat, 3 Jun 2017 11:08:35 +0000 (12:08 +0100)
This prevents rails confusing it with the builtin format
parameter derived from the URL extension.

app/controllers/site_controller.rb
app/helpers/application_helper.rb
config/routes.rb
test/controllers/site_controller_test.rb

index abd4696..6e26e79 100644 (file)
@@ -115,7 +115,7 @@ class SiteController < ApplicationController
   def offline; end
 
   def preview
-    render :html => RichText.new(params[:format], params[:text]).to_html
+    render :html => RichText.new(params[:type], params[:text]).to_html
   end
 
   def id
index 3d0a972..c5b08e5 100644 (file)
@@ -59,16 +59,16 @@ module ApplicationHelper
 
   def richtext_area(object_name, method, options = {})
     id = "#{object_name}_#{method}"
-    format = options.delete(:format) || "markdown"
+    type = options.delete(:format) || "markdown"
 
     content_tag(:div, :id => "#{id}_container", :class => "richtext_container") do
       output_buffer << content_tag(:div, :id => "#{id}_content", :class => "richtext_content") do
-        output_buffer << text_area(object_name, method, options.merge("data-preview-url" => preview_url(:format => format)))
+        output_buffer << text_area(object_name, method, options.merge("data-preview-url" => preview_url(:type => type)))
         output_buffer << content_tag(:div, "", :id => "#{id}_preview", :class => "richtext_preview richtext")
       end
 
       output_buffer << content_tag(:div, :id => "#{id}_help", :class => "richtext_help") do
-        output_buffer << render("site/#{format}_help")
+        output_buffer << render("site/#{type}_help")
         output_buffer << content_tag(:div, :class => "buttons") do
           output_buffer << submit_tag(I18n.t("site.richtext_area.edit"), :id => "#{id}_doedit", :class => "richtext_doedit deemphasize", :disabled => true)
           output_buffer << submit_tag(I18n.t("site.richtext_area.preview"), :id => "#{id}_dopreview", :class => "richtext_dopreview deemphasize")
index a976723..47bedac 100644 (file)
@@ -184,7 +184,7 @@ OpenStreetMap::Application.routes.draw do
   match "/go/:code" => "site#permalink", :via => :get, :code => /[a-zA-Z0-9_@~]+[=-]*/
 
   # rich text preview
-  match "/preview/:format" => "site#preview", :via => :post, :as => :preview
+  match "/preview/:type" => "site#preview", :via => :post, :as => :preview
 
   # traces
   match "/user/:display_name/traces/tag/:tag/page/:page" => "trace#list", :via => :get, :page => /[1-9][0-9]*/
index 26d936e..58379c0 100644 (file)
@@ -73,8 +73,8 @@ class SiteControllerTest < ActionController::TestCase
       { :controller => "site", :action => "permalink", :code => "shortcode" }
     )
     assert_routing(
-      { :path => "/preview/formatname", :method => :post },
-      { :controller => "site", :action => "preview", :format => "formatname" }
+      { :path => "/preview/typename", :method => :post },
+      { :controller => "site", :action => "preview", :type => "typename" }
     )
     assert_routing(
       { :path => "/id", :method => :get },
@@ -365,13 +365,13 @@ class SiteControllerTest < ActionController::TestCase
 
   # Test the rich text preview
   def test_preview
-    xhr :post, :preview, :format => "html"
+    xhr :post, :preview, :type => "html"
     assert_response :success
 
-    xhr :post, :preview, :format => "markdown"
+    xhr :post, :preview, :type => "markdown"
     assert_response :success
 
-    xhr :post, :preview, :format => "text"
+    xhr :post, :preview, :type => "text"
     assert_response :success
   end