0
在我Backbone.js的景色之一,我有以下代碼:如何使用Backbone.js將參數傳遞給控制器?
events:
'click .filter_classroom_size': 'filterClassroom'
filterClassroom: (event)->
event.stopPropagation()
event.preventDefault()
Backbone.history.navigate("classrooms?nationality", true)
我的路由器具有下面的代碼:
routes:
'classrooms?:filter': 'classrooms'
initialize: ->
@collection = new Classrooms.Collections.Entries()
@collection.fetch()
classrooms: (filter) ->
classroomView = new Seats.Views.ClassroomIndex(collection: @collection)
$('#output_container').html(classroomView.render().el)
alert("#{filter}") # this prints out the filter parameter
classrooms_controller.rb:
class ClassroomsController < ApiController
def show
# How do I send a parameter here so I can filter on it?
respond_with Classroom.all
end
end
我想能夠將參數傳遞到控制器,以便我可以過濾數據庫結果。
謝謝!
如何從視圖發送參數到路由器放入'initialize'節?另外,我只是把你的例子放在初始化部分,並通過控制器中的'Rails.logger.info'輸出參數,鍵/值沒有顯示。 – Goalie 2012-07-06 06:07:48
當你調用了教室功能時,你可以調用@ collection.fetch({data:{filter:filter}}),因爲你有過濾變量。關於記錄器,看看你的代碼是否正確識別,它應該工作。 – mateusmaso 2012-07-06 06:18:30