如何设置Ember.Router以使用Rails自定义路由?

时间:2012-10-01 18:38:41

标签: ruby-on-rails ember.js ember-data

从下面的代码中,如何从Ember.js路由器调用我的Rails AssetsController的自定义路由“dynamicSearch”?

Rails方面:

控制器> assets_controller.rb

class AssetsController < ApplicationController
  #caches_page :index

  # GET /assets
  # GET /assets.json
  def index
     begin
       params[:foo] ||= "bar"

       assets = Asset.all(params: {foo: params[:foo]})

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

  def dynamic_search
     params[:bar] == "bar"
     assets =  Asset.all(params: {bar: params[:bar]})

     respond_to do |format|
       format.json { render json: assets }
     end
  end
end

Ember.js Route - dynamicSearch是一个从Ember视图中的按钮调用的动作。

assets: Em.Route.extend({
  route: '/assets',

  connectOutlets: function(router) {
    router.get('applicationController').connectOutlet('assets', router.get('store').findAll(App.Asset));
  },

  dynamicSearch: function(router) {
    // How do I connect this to my Assets#dynamicSearch route in the Rails controller?
  },

  index: Ember.State.extend({
    route: '/',
    connectOutlets: function(router) {
      router.get('applicationController').connectOutlet('assets');
    }
  })


}) // assets route

0 个答案:

没有答案