Big question about a relationship setup

hello there all.
i have a question about how to set up a relationship thru another table
that i am using as kind of a pointer.
it works like this.

i have machines
each machine has_many: machine_options
machine_options table has an id, option_description, and sensor

i also have several other tables for each type of sensor
for example pressure_sensors, volt_sensors, flow_sensors etc…
each of these tables has a monitor that will match the monitor in
one of the type of machine_option

like this
machine 3 has a 2 options
so the rows for machine_options may look like this
machine_id = ‘3’, option_description = ‘pressure’, monitor =
machine_id = ‘3’, option_description = ‘volts’, monitor =

so here is the part where i am stumped.

is there a way i can set up something that allows me to conditionally
link a table?
like IF option_description == ‘pressure’ then machine ‘3’ has_one
:pressure_sensor find by monitor = machine_option.monitor

Or if not, what would be a good suggestion of a way i could map this
out. or have a way to return a pressure_sensor object for a machine
with an option_description that == ‘pressure’

the last point that i think will not be a problem is each
pressure_sensor has an id. There is another table of
pressure_sensor_records that records the history of reports from
these sensors. it is set up like this:
belongs_to pressure_sensors
id, pressure_sensor_id, datetime, value
so i could have pressure_sensor has_many :pressure_sensor_reports
that part i think will not be a problem.

if you have read this far, thanks for your time.

does this challenge make sense?