2017-10-11 8 views
-1

Ruby on Railsのカテゴリを表示し、アルファベット順(A ... Z)にドロップダウンを表示するドロップダウンメニューを構築しています。カテゴリを昇順に表示

質問: 「コントローラまたはビューのメソッドを編集することで、ドロップダウンメニューをアルファベット順に並べ替えることはできますか?」 |

を:彼らはアルファベット順にデータベースに播種されていないため、現在、デフォルトでは次のようになり、データの表示データを持つ方法があった場合

、私は思っていましたDROPDOWN |
| _Cooking ____ |
| _Zoology ____ |
| _履歴_____ |
| _Gardening__ |
| _アーチェリー____ |

:| DROPDOWN

|
| _アーチェリー____ |
| _Cooking ____ |
| _Gardening__ |
| _履歴_____ |
| _Zoology ____ |

現在、カテゴリの値はです。id、name、created_at、updated_atです。ここで

は、データベースのActiveRecordの関係の抜粋です:

のActiveRecord ::関係
カテゴリID:1、名前: "技術"、はcreated_at: "2017年10月10日21時48分59秒"、 updated_at: "2017-10-10 21:48:59"
カテゴリID:2、名前: "ホラー/ミステリー"、created_at: "2017-10-10 21:50:38"、updated_at: "2017-10 -11 00:06:38 "
カテゴリID:3、名前:"ファンタジー "、created_at:" 2017-10-10 21:50:43 "、updated_at:" 2017-10-10 21:50:43 "
カテゴリID:4、名前: "Historical Fiction"、created_at: "2017-10-10 21:50:51"、updated_at: "2017-10-10 21:50:51"

これで十分でない場合は、関連するファイルを提供して問題を明らかにすることができます。

私に手を差し伸べるためにあなたの日を外していただきありがとうございます!

答えて

0

あなたのカテゴリは、リソースに関連付けられていると、フォーム内のすべてのカテゴリを表示しようとしている場合することができますはい、ここではサンプル(フォーム変数としてfののform_for使用することを検討してください)

<%= f.select :category_id, Category.uniq.pluck(:name, :id).sort, { include_blank: true }, { class: 'your class name' } %> 
0

ですそれは保存する必要があります。あなたは記事のようなリソースを持っていて、データベースに保存しながら記事にカテゴリを追加したいと仮定しています。お使いのカテゴリーモデルの

def new 
    @article = Article.new 
    @temp = Category.alphabetically 
    @categories = @temp.all.map{|c| [ c.name, c.id ] } 
    end 

カテゴリ。

<%= select_tag(:category_id, options_for_select(@categories), class: "form-control", :prompt => "Select one!") %> 

_form.html.erb RBビュー

class Category < ApplicationRecord 
    scope :alphabetically, -> { order(name: :asc) } 
end 

何か問題がある場合は私に知らせてください。

0

あなたは自分の属性名に基づいて昇順に

@categories = Categories.allすべてのカテゴリを呼び出すことができます。「名前昇順」の名前は、カテゴリを指し、ここで

(オーダー=>「名前のASCを」)名前

これをレールコンソールで試してください。その順序を見ることができます

関連する問題