songtianlun
9cb1467301
- Add slug column to weather_arts for friendly URLs. - Update weather arts retrieval in the controller to use slug. - Implement region and country filtering in cities index view. - Optimize city queries with scopes for active status and region/country. - Improve UI layout and design for the cities index page. These changes allow better user experience by enabling cleaner URLs for weather arts and facilitating efficient filtering of cities based on selected regions and countries.
82 lines
2.3 KiB
Ruby
82 lines
2.3 KiB
Ruby
ActiveAdmin.register WeatherArt do
|
|
controller do
|
|
def find_resource
|
|
scoped_collection.friendly.find(params[:id])
|
|
end
|
|
end
|
|
# See permitted parameters documentation:
|
|
# https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters
|
|
#
|
|
# Uncomment all parameters which should be permitted for assignment
|
|
#
|
|
# permit_params :city_id, :weather_date, :description, :temperature, :feeling_temp, :humidity, :wind_scale, :wind_speed, :precipitation, :pressure, :visibility, :cloud, :prompt
|
|
#
|
|
# or
|
|
#
|
|
# permit_params do
|
|
# permitted = [:city_id, :weather_date, :description, :temperature, :feeling_temp, :humidity, :wind_scale, :wind_speed, :precipitation, :pressure, :visibility, :cloud, :prompt]
|
|
# permitted << :other if params[:action] == 'create' && current_user.admin?
|
|
# permitted
|
|
# end
|
|
permit_params :city_id, :weather_date, :description, :temperature,
|
|
:feeling_temp, :humidity, :wind_scale, :wind_speed,
|
|
:precipitation, :pressure, :visibility, :cloud,
|
|
:prompt, :image
|
|
|
|
remove_filter :image_attachment, :image_blob
|
|
|
|
index do
|
|
selectable_column
|
|
id_column
|
|
column :city
|
|
column :weather_date
|
|
column :description
|
|
column :temperature
|
|
column :image do |weather_art|
|
|
image_tag(weather_art.image, size: "100x100") if weather_art.image.attached?
|
|
end
|
|
actions
|
|
end
|
|
|
|
show do
|
|
attributes_table do
|
|
row :city
|
|
row :weather_date
|
|
row :description
|
|
row :temperature
|
|
row :feeling_temp
|
|
row :humidity
|
|
row :wind_scale
|
|
row :wind_speed
|
|
row :precipitation
|
|
row :pressure
|
|
row :visibility
|
|
row :cloud
|
|
row :prompt
|
|
row :image do |weather_art|
|
|
image_tag(weather_art.image) if weather_art.image.attached?
|
|
end
|
|
end
|
|
end
|
|
|
|
form do |f|
|
|
f.inputs do
|
|
f.input :city
|
|
f.input :weather_date
|
|
f.input :description
|
|
f.input :temperature
|
|
f.input :feeling_temp
|
|
f.input :humidity
|
|
f.input :wind_scale
|
|
f.input :wind_speed
|
|
f.input :precipitation
|
|
f.input :pressure
|
|
f.input :visibility
|
|
f.input :cloud
|
|
f.input :prompt
|
|
f.input :image, as: :file
|
|
end
|
|
f.actions
|
|
end
|
|
end
|