- 12 12月, 2013 5 次提交
-
-
由 Łukasz Strzałkowski 提交于
* Extend method documentation * Mention it in actionpack/CHANGELOG * Update release notes
-
由 dvsuresh 提交于
-
由 Aayush khandelwal 提交于
-
由 Trent Ogren 提交于
This reverts the changes to CHANGELOG.md in commit 38f8872a.
-
由 Trent Ogren 提交于
Session#fetch was mutating the session when given a default argument and/or a block. Since Session duck-types as a Hash, it should behave like one in these cases.
-
- 11 12月, 2013 1 次提交
-
-
由 Piotr Sarnacki 提交于
When a route is mounted inside a resources block, it's automatically prefixed, so a following code: resources :users do mount Blog::Engine => '/blog' end will generate a user_blog path helper. In order to access engine helpers, we also use "mounted_helpers", a list of helpers associated with each mounted engine, so a path to blog's post can be generated using user_blog.post_path(user, post). The problem I'm fixing here is that mount used a raw :as option, without taking nestings into account. As a result, blog was added to a route set as a `user_blog`, but helper was generated for just `blog`. This commit applies the proper logic for defining a helper for a mounted engine nested in resources or resource block. (closes #8533)
-
- 10 12月, 2013 2 次提交
-
-
由 Łukasz Strzałkowski 提交于
In most cases, when setting variant specific code, you're not sharing any code within format. Inline syntax can vastly simplify defining variants in those situations: respond_to do |format| format.js { render "trash" } format.html do |variant| variant.phone { redirect_to progress_path } variant.none { render "trash" } end end Becomes: respond_to do |format| format.js { render "trash" } format.html.phone { redirect_to progress_path } format.html.none { render "trash" } end
-
由 Łukasz Strzałkowski 提交于
@responses hash needs to be initialized with mime types that we get from Collector#collect_mimes_from_class_level. Mime::Type class as key and nil as value. This need to happen before content negotiation. Before that, it was looping though mime types and executing mime-type-generated method inside collector (see AbstractController::Collector#generate_method_for_mime). That approach resulted in 2 unnecessary method calls for each mime type collected by Collector#collect_mimes_from_class_level. Now hash is initialized in place, without usage of Collector#custom method.
-
- 09 12月, 2013 3 次提交
-
-
由 David Heinemeier Hansson 提交于
This reverts commit 18616114, reversing changes made to cad9eb17.
-
由 Łukasz Strzałkowski 提交于
In most cases, when setting variant specific code, you're not sharing any code within format. Inline syntax can vastly simplify defining variants in those sitiations: respond_to do |format| format.js { render "trash" } format.html do |variant| variant.phone { redirect_to progress_path } variant.none { render "trash" } end end ` Becomes: respond_to do |format| format.js { render "trash" } format.html.phone { redirect_to progress_path } format.html.none { render "trash" } end
-
由 Łukasz Strzałkowski 提交于
@responses hash needs to be initialized with mime types that we get from Collector#collect_mimes_from_class_level. Mime::Type class as key and nil as value. This need to happen before content negotiation. Before that, it was looping though mime types and executing mime-type-generated method inside collector (see AbstractController::Collector#generate_method_for_mime). That approach resulted in 2 unnecessary method calls for each mime type collected by Collector#collect_mimes_from_class_level. Now hash is initialized in place, without usage of Collector#custom method.
-
- 08 12月, 2013 3 次提交
-
-
由 Łukasz Strzałkowski 提交于
-
由 David Heinemeier Hansson 提交于
-
由 David Heinemeier Hansson 提交于
-
- 06 12月, 2013 2 次提交
-
-
由 Arun Agrawal 提交于
Added here 13dd38ce
-
由 David Heinemeier Hansson 提交于
-
- 05 12月, 2013 6 次提交
-
-
由 Yves Senn 提交于
Discoverd by #13175.
-
由 Carlos Antonio da Silva 提交于
-
由 Shota Fukumori (sora_h) 提交于
Before ec16ba75, ActionView::Helpers::TranslationHelper#translate has raised errors with specifying options[:raise] to true. This should work by this fix: begin t(:"translations.missing", raise: true) rescue I18n::MissingTranslationData p :hello! end
-
由 Łukasz Strzałkowski 提交于
-
由 Rafael Mendonça França 提交于
-
由 Angelo capilleri 提交于
Return Nil is implicit in a method and this syntax is used in the others classes
-
- 04 12月, 2013 5 次提交
-
-
由 Carlos Antonio da Silva 提交于
Avoid one-liner conditionals when they are too big. Avoid concatenating strings to build error messages. Improve messages a bit.
-
由 Carlos Antonio da Silva 提交于
-
由 Łukasz Strzałkowski 提交于
By default, variants in the templates will be picked up if a variant is set and there's a match. The format will be: app/views/projects/show.html.erb app/views/projects/show.html+tablet.erb app/views/projects/show.html+phone.erb If request.variant = :tablet is set, we'll automatically be rendering the html+tablet template. In the controller, we can also tailer to the variants with this syntax: class ProjectsController < ActionController::Base def show respond_to do |format| format.html do |html| @stars = @project.stars html.tablet { @notifications = @project.notifications } html.phone { @chat_heads = @project.chat_heads } end format.js format.atom end end end The variant itself is nil by default, but can be set in before filters, like so: class ApplicationController < ActionController::Base before_action do if request.user_agent =~ /iPad/ request.variant = :tablet end end end This is modeled loosely on custom mime types, but it's specifically not intended to be used together. If you're going to make a custom mime type, you don't need a variant. Variants are for variations on a single mime types.
-
由 Carlos Antonio da Silva 提交于
-
由 Carlos Antonio da Silva 提交于
-
- 03 12月, 2013 5 次提交
-
-
由 Guillermo Iguaran 提交于
-
由 Guillermo Iguaran 提交于
-
由 Angelo capilleri 提交于
This PR fixes #13064 regression bug introduced by the #8085 Now in _process_format when the format is a Mime::NullType nothing is written in self.content_type. In this way the method Response#assign_default_content_type_and_charset can write the the default mime_type.
-
由 Michael Koziarski 提交于
The previous implementation of this functionality could be accidentally subverted by instantiating a raw Rack::Request before the first Rails::Request was constructed. Fixes CVE-2013-6417
-
由 Genadi Samokovarov 提交于
-
- 02 12月, 2013 2 次提交
-
-
由 Andrew White 提交于
A path redirect may contain any and all parts of a url which have different escaping rules for each part. This commit tries to escape each part correctly by splitting the string into three chunks - path (which may also include a host), query and fragment; then it applies the correct escape pattern to each part. Whilst using `URI.parse` would be better, unfortunately the possible presence of %{name} parameters in the path redirect string prevents us from using it so we have to use a regular expression instead. Fixes #13110.
-
由 Tejas Dinkar 提交于
-
- 01 12月, 2013 1 次提交
-
-
由 Guillermo Iguaran 提交于
-
- 30 11月, 2013 1 次提交
-
-
由 Akshay Vishnoi 提交于
-
- 29 11月, 2013 1 次提交
-
-
由 Yves Senn 提交于
Extract **notable changes**, **deprecations** and **removals** from each CHANGELOG. I tried to reference the commits and pull requests for new features and deprecations. In the process I also made some minor changes to the CHANGELOGS. The 4_1_release_notes guide is declared WIP.
-
- 28 11月, 2013 2 次提交
-
-
由 Kuldeep Aggarwal 提交于
-
由 Kuldeep Aggarwal 提交于
-
- 25 11月, 2013 1 次提交
-
-
由 Victor Costan 提交于
This commit makes it really easy to debug errors due to typos like "assert_response :succezz".
-