1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/actionpack
schneems 334549b4a5 Fix improperly configured host in generated urls
If the host in `default_url_options` is accidentally set with a protocol such as 

```
host: "http://example.com"
``` 

then the generated url will have the protocol twice `http://http://example.com` which is not what the user intended. Likely they wanted to define a host `host: "example.com"` and a `protocol: "http://"` but did not know the convention.

This may not the most common problem, but when it happens it can go undetected for a while. I accidentally added `http://` out of habit recently only to find all the links in my emails were broken after deploying a demo site to production. Rather than allow this accident go undetected, we can fix the problem in line by properly setting the protocol and host.


I was able to find this related question on stack overflow: http://stackoverflow.com/questions/5878329/rails-3-devise-how-do-i-make-the-email-confirmation-links-use-secure-https-n where the answer was highly upvoted.

This is based off of work in #7415 cc/ @pixeltrix

ATP Action Mailer and Action Pack
2013-03-19 12:34:49 -05:00
..
lib Fix improperly configured host in generated urls 2013-03-19 12:34:49 -05:00
test Fix improperly configured host in generated urls 2013-03-19 12:34:49 -05:00
actionpack.gemspec Revert "instruct RDoc to only parse Ruby files under lib [Fixes #9779]" 2013-03-18 21:19:47 +01:00
CHANGELOG.md Fix improperly configured host in generated urls 2013-03-19 12:34:49 -05:00
MIT-LICENSE Updated copyright notices for 2013 2012-12-31 20:35:29 +00:00
Rakefile update AD::Journey to follow Rails coding conventions 2012-12-20 15:42:39 -05:00
README.rdoc PUT => PATCH or PUT 2013-01-02 06:41:51 +09:00
RUNNING_UNIT_TESTS.rdoc Put .rdoc at the end of the files named RUNNING_UNIT_TESTS 2013-02-03 15:49:48 +09:00

= Action Pack -- From request to response

Action Pack is a framework for handling and responding to web requests. It
provides mechanisms for *routing* (mapping request URLs to actions), defining
*controllers* that implement actions, and generating responses by rendering
*views*, which are templates of various formats. In short, Action Pack
provides the view and controller layers in the MVC paradigm.

It consists of several modules:

* Action Dispatch, which parses information about the web request, handles
  routing as defined by the user, and does advanced processing related to HTTP
  such as MIME-type negotiation, decoding parameters in POST, PATCH, or PUT bodies,
  handling HTTP caching logic, cookies and sessions.

* Action Controller, which provides a base controller class that can be
  subclassed to implement filters and actions to handle requests. The result
  of an action is typically content generated from views.

* Action View, which handles view template lookup and rendering, and provides
  view helpers that assist when building HTML forms, Atom feeds and more.
  Template formats that Action View handles are ERB (embedded Ruby, typically
  used to inline short Ruby snippets inside HTML), and XML Builder.

With the Ruby on Rails framework, users only directly interface with the
Action Controller module. Necessary Action Dispatch functionality is activated
by default and Action View rendering is implicitly triggered by Action
Controller. However, these modules are designed to function on their own and
can be used outside of Rails.


== Download and installation

The latest version of Action Pack can be installed with RubyGems:

  % [sudo] gem install actionpack

Source code can be downloaded as part of the Rails project on GitHub

* https://github.com/rails/rails/tree/master/actionpack


== License

Action Pack is released under the MIT license:

* http://www.opensource.org/licenses/MIT


== Support

API documentation is at

* http://api.rubyonrails.org

Bug reports and feature requests can be filed with the rest for the Ruby on Rails project here:

* https://github.com/rails/rails/issues