2016-07-21 12 views
-4

Wie mache ich ActiveRecord, um meine Filme Titel alphabetisch zu sortieren, wenn ich auf einen Link in Ruby on Rails klicke? Movies enthält Titel mit Alphabeten und andere Zahlen.Sortieren alphabetisch in Ruby auf Schienen

class CreateMovies < ActiveRecord::Migration 
    def change 
    create_table :movies do |t| 
     t.string :title 
     t.text :description 

     t.timestamps 
    end 
    end 
end 

Und Ihr Modell:

class Movie < ActiveRecord::Base 
end 

Und Ihre Steuerung: Dank

+0

Willkommen bei StackOverflow. Normalerweise erhalten Sie eine bessere Antwort, wenn Sie Code hinzufügen, den Sie ausprobiert haben. Bitte überlegen Sie hinzufügen, was Sie denken, sollte funktionieren. –

Antwort

1

Ohne die Details Ihrer Anwendung zu wissen, könnten Sie so etwas wie die folgenden für Ihre Migrationsdatei tun

class MoviesController < ApplicationController 
    def index 
    @movies = if params[:sort_by] == "title" 
     Movie.order(:title) 
    else 
     Movie.all 
    end 
    end 
end 

Und aus Ihrer Sicht:

<%= link_to "All Movies", movies_path %> 
<%= link_to "Movies sorted alphabetially", movies_path(sort_by: "title") %> 
+0

Bitte akzeptieren Sie die Antwort, wenn Sie diese hilfreich gefunden haben. Ansonsten geben Sie bitte weitere Informationen an, damit wir Ihnen weiterhelfen können. –

+0

Yeah! Das funktioniert eigentlich @Greg Antwort. – SammieNeutron

Verwandte Themen