diff options
| author | Teddy Wing | 2018-02-02 17:44:32 +0100 | 
|---|---|---|
| committer | cedricnjanga | 2018-02-07 07:14:04 -0800 | 
| commit | 60176816df7bf7291c1df23c52809816d6a8057f (patch) | |
| tree | 29bcfa0c77f5f0af82c77b6461355f0033b2a37e /db/schema.rb | |
| parent | 883813fcadf64da988bd3337bb0f86039f5f2774 (diff) | |
| download | chouette-core-60176816df7bf7291c1df23c52809816d6a8057f.tar.bz2 | |
StopArea: Don't auto-initialise a value for the `kind` attribute
We were getting this error on `ReferentialVehicleJourneys#index`:
    Feb  1 17:48:32 chouette-dev rails/chouette[18900]: Started GET "/referentials/9/vehicle_journeys" for 172.28.10.14 at 2018-02-01 17:48:32 +0100
    Feb  1 17:48:32 chouette-dev rails/chouette[18900]: Processing by ReferentialVehicleJourneysController#index as HTML
    Feb  1 17:48:32 chouette-dev rails/chouette[18900]: Parameters: {"referential_id"=>"9"}
    Feb  1 17:48:32 chouette-dev rails/chouette[18900]: locale set to :fr
    Feb  1 17:48:32 chouette-dev rails/chouette[18900]: Rendered referential_vehicle_journeys/_filters.html.slim (37.0ms)
    Feb  1 17:48:32 chouette-dev rails/chouette[18900]: Rendered referential_vehicle_journeys/index.html.slim within layouts/application (54.3ms)
    Feb  1 17:48:32 chouette-dev rails/chouette[18900]: Completed 500 Internal Server Error in 73ms (ActiveRecord: 10.4ms)
    Feb  1 17:48:32 chouette-dev rails/chouette[18900]: ActionView::Template::Error (missing attribute: kind):#012    23:         = f.input :published_journey_name_lteq, label: false, wrapper_html: { class: 'w45'}#012    24:     .form-group.togglable#012    25:       = f.label Chouette::StopArea.model_name.human.pluralize, required: false, class: 'control-label'#012    26:       = f.input :stop_area_ids, collection: @all_stop_areas.select(:id, :name).order(name: :asc), checked: params[:q] && params[:q][:stop_area_ids], as: :check_boxes, label: false, label_method: lambda{|l| ("<span>" + l.name + "</span>").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}, multiple: true#012    27:     .form-group.togglable#012    28:       = f.label Chouette::VehicleJourney.human_attribute_name(:purchase_window), class: 'control-label'#012    29:       .filter_menu#012  app/models/chouette/stop_area.rb:51:in `block in <class:StopArea>'#012  app/views/referential_vehicle_journeys/_filters.html.slim:26:in `block in _app_views_referential_vehicle_journeys__filters_html_slim__692539656386688985_47285414929500'#012  app/views/referential_vehicle_journeys/_filters.html.slim:1:in `_app_views_referential_vehicle_journeys__filters_html_slim__692539656386688985_47285414929500'#012  app/views/referential_vehicle_journeys/index.html.slim:9:in `_app_views_referential_vehicle_journeys_index_html_slim___336434325333090796_47285419865660'
    Feb  1 17:48:32 chouette-dev rails/chouette[18900]: Processing by ErrorsController#server_error as HTML
    Feb  1 17:48:32 chouette-dev rails/chouette[18900]: Parameters: {"referential_id"=>"9"}
    Feb  1 17:48:32 chouette-dev rails/chouette[18900]: locale set to :fr
or, this one locally which is easier to read:
    ActiveModel::MissingAttributeError in ReferentialVehicleJourneys#index
    Showing .../stif-boiv/app/views/referential_vehicle_journeys/_filters.html.slim where line #44 raised:
    missing attribute: kind
    Extracted source (around line #51):
        after_initialize do
    >     self.kind ||= :commercial
        end
        def self.nullable_attributes
    Trace of template inclusion: app/views/referential_vehicle_journeys/index.html.slim
    Rails.root: .../stif-boiv
    Application Trace | Framework Trace | Full Trace
    app/models/chouette/stop_area.rb:51:in `block in <class:StopArea>'
    app/views/referential_vehicle_journeys/_filters.html.slim:44:in `block in _app_views_referential_vehicle_journeys__filters_html_slim___131528464712770693_70134715599760'
    app/views/referential_vehicle_journeys/_filters.html.slim:1:in `_app_views_referential_vehicle_journeys__filters_html_slim___131528464712770693_70134715599760'
    app/views/referential_vehicle_journeys/index.html.slim:9:in `_app_views_referential_vehicle_journeys_index_html_slim__3124451149445015007_70134715309040'
This is because on `ReferentialVehicleJourneys#index`, the StopArea
filter makes this query:
    @all_stop_areas.select(:id, :name).order(name: :asc)
Alban added a temporary fix for the release in
c2bc391ee91cac70e726d188be97dd2323df0df2.
After a discussion with Luc, he said we only want the initial value on
the `#new` form, and we decided to take this out of the model and put it
in the form template instead.
Here, when a new `StopArea` is created, `:commercial` will be pre-filled
in the `kind` field by default. On the `#edit` page, it should show the
existing value of `kind` but not permit editing.
Refs #5817
Diffstat (limited to 'db/schema.rb')
0 files changed, 0 insertions, 0 deletions
