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
Post a Comment