Only show fields that have content in Ruby on Rails -
i have app has product model , product has next attributes:
t.string :name t.string :info t.string :purpose t.string :properties_sheen t.string :properties_color t.string :properties_solids t.string :properties_coverage t.string :properties_thickness t.string :properties_flashpoint t.string :properties_voc t.string :application_ratio t.string :application_thinner t.string :application_method t.string :application_cleaning t.string :conditions_touch_5 t.string :conditions_touch_23 t.string :conditions_touch_30 t.string :conditions_hard_5 t.string :conditions_hard_23 t.string :conditions_hard_30 t.string :conditions_refloatation t.string :conditions_interval_min_5 t.string :conditions_interval_min_23 t.string :conditions_interval_min_30 t.string :conditions_interval_max t.string :coating_spec t.string :surface_prep t.string :storage t.string :pack_size
on product page these fall groups. illustration properties includes attributes 'properties_' in etc.
what best way me show fields have content in besides applying '.present?' logic every attribute?
i have created product helpers groups seek , remove finish sections have no content doesn't seem rails-y me sure there's improve way.
def any_applications_present? unless @product.application_ratio.present? || @product.application_thinner.present? || @product.application_method.present? || @product.application_cleaning.present? homecoming false else homecoming true end end
given app simple , feature perhaps 20 products maximum keen maintain backend as simple storing in single products table ideally.
any advice much appreciated :)
**** illustration products show view ***** .row .col-sm-12 %h3 properties %p sheen: %span = @product.properties_sheen %p color: %span = @product.properties_color
you can seek this:
# in product.rb def has_applications? [:ratio, :thinner, :method, :cleaning].any? |method| send("application_#{method}").present? end end
then phone call on model:
@product.has_application? # returns true or false
ruby-on-rails ruby ruby-on-rails-3 model logic
No comments:
Post a Comment