ruby on rails - Issue with getting sortable columns on associated models -


i try sortable columns here: #228 sortable table

models: person.rb

# table name: people # #  id                         :integer          not null, primary key #  first_name                 :string           not null #  last_name                  :string           not null 

individual_traning.rb

# table name: individual_trainings # #  id               :integer          not null, primary key #  date_of_training :date             not null #  client_id        :integer #  trainer_id       :integer 

associations: person.rb

  has_many :individual_trainings_as_trainer,            class_name: 'individualtraining',            foreign_key: 'trainer_id'   has_many :individual_trainings_as_client,            class_name: 'individualtraining',            foreign_key: 'client_id' 

individual_training.rb

  belongs_to :trainer, class_name: 'person', foreign_key: 'trainer_id'   belongs_to :client, class_name: 'person', foreign_key: 'client_id' 

individual_trainings_controller.rb

def index     @individual_trainings = individualtraining.includes(:training_cost)                                               .includes(:client)                                               .order(sort_column + ' ' + sort_direction)                                               .references(:training_costs)                                               .references(:clients) end  joined_table_columns = %w(training_costs.cost training_costs.duration                             clients.first_name).freeze   def sort_column     if joined_table_columns.include?(params[:sort]) || individualtraining.column_names.include?(params[:sort])       params[:sort]     else       'date_of_training'     end   end    def sort_direction     %w(asc desc).include?(params[:direction]) ? params[:direction] : 'asc'   end 

issue: when in view use e.g. sortable "clients.first_name" there error this:

 pg::undefinedtable: error:  missing from-clause entry table "clients" line 1: ...d" = "individual_trainings"."client_id"  order clients.fi... 

i used sortable on multiple associations , working. supose problem in customized names of belongs_to(instead 1 belongs_to :people). have idea why solution isn't correct?


Comments