ヘッダーをクリックしてテーブルの列を昇順または降順で並べ替える方法

ヌールザ

アイテムのあるお店があります各アイテムには価格があります。

価格を昇順で並べ替え、価格ヘッダーの価格を降順で並べ替えてみました。価格をクリックすると、$ 10〜 $ 50のすべてのアイテムが正しく並べ替えられますが、$ 10未満で$ 50を超えるものは並べ替えられません。

これが私のコードです:

class TeethersController < ApplicationController
  before_action :authenticate_user!,except: [:index,:show]
  helper_method :sort_column, :sort_direction
  before_action :find_teether, only: [:destroy,:edit,:update,:show]

  def index
    @teethers= Teether.all.order(sort_column + ' ' + sort_direction)
    @colors = Array.new
    @types = Array.new
    @teethers.each {|t| @types << t.types.pluck(:name) }
    @teethers.each {|t| @colors << t.colors.pluck(:name) }
    if params[:search]
      @search_term = params[:search]
      @teethers= @teethers.search_by(@search_term)
    end
    if params[:type_id]
      @types = Typation.where(type_id: params[:type_id])
      @teethers = @types.map(&:teether)
    end
  end

  def create
    @teether = Teether.new(teether_attributes)

    if @teether.save
      redirect_to teethers_path, notice: "Thank you... Your teether information was created successfully."
    else
      flash.now[:error] = "Please correct the form"
      render :new
    end
  end

  def new
    @teether=Teether.new 
  end
  private
  def find_teether
    @teether = Teether.find(params[:id])
  end

  def sort_column
    Teether.column_names.include?(params[:sort]) ? params[:sort] : "name"
  end

  def sort_direction
    %w[asc desc].include?(params[:direction]) ? params[:direction] : "asc"
  end

  def teether_attributes
    teether_attributes = params.require(:teether).permit([:name,:description,:price,:image,:keywords,:status,:quantity,:discount,:kind,{type_ids: []},:gender,:color,:theme])
  end
end

私のアプリケーションヘルパーは次のとおりです。

module ApplicationHelper
   def sortable(column, title = nil)
    title ||= column.titleize
    direction = (column == sort_column && sort_direction == "asc")? "desc" : "asc"
    link_to title, :sort => column, :direction => direction
  end
end

これは私のインデックスにあります:

<h3 id="sort"><label>Sort: </label><span> | </span><span><%= sortable "price" %><span class="caret"></span></span></h3>

データベース内

class CreateTeethers < ActiveRecord::Migration[5.2]
  def change
    create_table :teethers do |t|
      t.string :name
      t.text :description
      t.string :price

      t.timestamps
    end
  end
end


class AddDiscountToTeether < ActiveRecord::Migration[5.2]
  def change
    add_column :teethers, :discount, :text
    add_column :teethers, :kind, :text
  end
end
SteveTurczyn

価格を10進数に変更します(または整数...セント...そして「お金」の宝石を使用します。これは素晴らしい宝石です!)。

移行によって文字列を10進数に変更できるとは思いませんが、これがまだデプロイされていない開発である場合は、問題ではありません。

したがって、remove_column'value 'および' discount 'に移行します

次に、10進フィールドとしてadd_column値に移行し、10進フィールドとして割引を行います。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

定義された行のブロックで列を昇順および降順で並べ替えます

分類Dev

リストを昇順または降順で並べ替える方法は?

分類Dev

配列Angular7を降順または昇順で番号フィールドで並べ替える

分類Dev

VB-データベースからの結果を昇順または降順で並べ替える方法

分類Dev

jqueryでtablesorterを使用して並べ替え列を変更したときに、最初にテーブルを昇順で並べ替える方法は?

分類Dev

Perlハッシュを値の降順で並べ替えてから、昇順でキー入力します

分類Dev

R-複数の列をグループの昇順または降順として条件付きで並べ替えます

分類Dev

JSは、オブジェクトの配列を特定の文字列プロパティ(昇順または降順ではない)で並べ替えます

分類Dev

並べ替え関数を使用して、2つの要素のタプルリストを番号の降順で並べ替えてから、同点の場合はアルファベットの昇順で並べ替えることはできません。

分類Dev

同じクリックでオブジェクトの配列を昇順と降順の両方で並べ替える

分類Dev

整数値の降順でこのテーブルを並べ替える方法は?

分類Dev

Laravelは、ページ付けを使用して降順または昇順で並べ替えます

分類Dev

Reactjsでデータを昇順または降順で並べ替える方法は?

分類Dev

grailsを使用してfindAllクエリで降順のデータで並べ替える方法は?

分類Dev

numpyは、構造化配列を昇順と降順の2つのフィールドで並べ替えます

分類Dev

ボタンをクリックすると、データが角度で昇順/降順で並べ替えられます

分類Dev

SQLの降順でテーブルを並べ替える

分類Dev

クイック ソート アルゴリズムで配列を昇順と降順の両方で並べ替えるにはどうすればよいですか?

分類Dev

ハッシュを値の降順で並べ替えてから、昇順のルビーを入力します

分類Dev

SAPUI5-昇順または降順で並べ替えずにリストアイテムをグループ化する

分類Dev

F#-リストを降順で並べ替えてから昇順で並べ替える方法は?

分類Dev

リストの一部を降順(日付順)で並べ替え、他の部分を昇順(アルファベット順)で並べ替えますか?

分類Dev

数値と文字列値を持つ列のテーブルヘッダーをクリックしてReactテーブルを並べ替える

分類Dev

Pythonを使用してリストを分割し、昇順と降順で並べ替える方法は?

分類Dev

スパーク結果のタプルを値を使用して降順で並べ替える方法

分類Dev

複数の列で並べ替える場合は、各列に昇順降順を設定します

分類Dev

Firebaseデータを昇順/降順で並べ替える

分類Dev

配列を昇順および降順で並べ替えるカスタムスクリプトの問題

分類Dev

ラムダで昇順/降順の並べ替えを作成する方法

Related 関連記事

  1. 1

    定義された行のブロックで列を昇順および降順で並べ替えます

  2. 2

    リストを昇順または降順で並べ替える方法は?

  3. 3

    配列Angular7を降順または昇順で番号フィールドで並べ替える

  4. 4

    VB-データベースからの結果を昇順または降順で並べ替える方法

  5. 5

    jqueryでtablesorterを使用して並べ替え列を変更したときに、最初にテーブルを昇順で並べ替える方法は?

  6. 6

    Perlハッシュを値の降順で並べ替えてから、昇順でキー入力します

  7. 7

    R-複数の列をグループの昇順または降順として条件付きで並べ替えます

  8. 8

    JSは、オブジェクトの配列を特定の文字列プロパティ(昇順または降順ではない)で並べ替えます

  9. 9

    並べ替え関数を使用して、2つの要素のタプルリストを番号の降順で並べ替えてから、同点の場合はアルファベットの昇順で並べ替えることはできません。

  10. 10

    同じクリックでオブジェクトの配列を昇順と降順の両方で並べ替える

  11. 11

    整数値の降順でこのテーブルを並べ替える方法は?

  12. 12

    Laravelは、ページ付けを使用して降順または昇順で並べ替えます

  13. 13

    Reactjsでデータを昇順または降順で並べ替える方法は?

  14. 14

    grailsを使用してfindAllクエリで降順のデータで並べ替える方法は?

  15. 15

    numpyは、構造化配列を昇順と降順の2つのフィールドで並べ替えます

  16. 16

    ボタンをクリックすると、データが角度で昇順/降順で並べ替えられます

  17. 17

    SQLの降順でテーブルを並べ替える

  18. 18

    クイック ソート アルゴリズムで配列を昇順と降順の両方で並べ替えるにはどうすればよいですか?

  19. 19

    ハッシュを値の降順で並べ替えてから、昇順のルビーを入力します

  20. 20

    SAPUI5-昇順または降順で並べ替えずにリストアイテムをグループ化する

  21. 21

    F#-リストを降順で並べ替えてから昇順で並べ替える方法は?

  22. 22

    リストの一部を降順(日付順)で並べ替え、他の部分を昇順(アルファベット順)で並べ替えますか?

  23. 23

    数値と文字列値を持つ列のテーブルヘッダーをクリックしてReactテーブルを並べ替える

  24. 24

    Pythonを使用してリストを分割し、昇順と降順で並べ替える方法は?

  25. 25

    スパーク結果のタプルを値を使用して降順で並べ替える方法

  26. 26

    複数の列で並べ替える場合は、各列に昇順降順を設定します

  27. 27

    Firebaseデータを昇順/降順で並べ替える

  28. 28

    配列を昇順および降順で並べ替えるカスタムスクリプトの問題

  29. 29

    ラムダで昇順/降順の並べ替えを作成する方法

ホットタグ

アーカイブ