なぜこれがうまくいかないのか理解できないようです。
私はこのコードでlibにクラスを持っています:
class SortMethods
def initialize(direction, sort)
@mydirection = direction
@mysort = sort
end
def sort_column(table, field)
table.column_names.include?(@mysort) ? @mysort : field
end
def sort_direction
%w[asc desc].include?(@mydirection) ? @mydirection : "asc"
end
end
私の trucks_controller には、次のコードがあります。
class TrucksController < ApplicationController
# GET /trucks
# GET /trucks.json
require 'sort_methods'
helper_method :sort_column, :sort_direction
def index
search = params[:search]
msm = SortMethods.new(params[:direction], params[:sort])
@trucks = Truck.search(search).order(msm.sort_column(Truck, "truck_no") + " " + msm.sort_direction)
respond_to do |format|
format.html # index.html.erb
format.json { render json: @trucks }
end
end
end
私が理解していないのは、私が間違っていることです。この投稿で提案されていることはすべて試しましたが、別の人が同じ質問をしましたが、うまくいきません。私は何を間違っていますか?
post: Rails - lib ディレクトリからメソッドを呼び出すには?
私も .self を追加しようとしたことを追加する必要がありますが、それでも機能しません。