2013-07-12 9 views

Antwort

31

Wenn Sie die index Aktion Ihrer Users Controller überprüfen, dann werden Sie so etwas wie dieses

def index 
    @users = User.all 

    respond_to do |format| 
    format.html # index.html.erb 
    format.json { render json: @users } 
    end 
end 

So sehen dieses Format die Art der Antwort ist, die erzeugt wird.

In Routen wird ein Platzhalter für den Typ der Antwort erstellt, unabhängig davon, welches Format in der Aktion des Controllers definiert wurde.

Also, wenn Sie Ihre URL so etwas wie ist: -

users GET /users  --> users/index.html.erb will be rendered 
users GET /users.json --> users/index.json.erb will be rendered 

Und falls Sie Antwort wollen in PDF oder xls Format, dann haben Sie nur format.pdf oder format.xls zu definieren und auch Sie haben diese neu definieren MIME Typen, die nicht standardmäßig in Schienen in einer Initialisierungsdatei enthalten sind.

So, dann, wenn ein Antrag gestellt wird, wie: -

users GET /users.xls  --> users/index.xls.erb will be rendered 

Ihre Routen-Datei wird dann suchen Sie einfach nach den format.xls im Index Aktion und die entsprechenden Ansichtsdatei bedeutet users/index.xls.erb gerendert werden.