如何自定义记录的URL ember-data请求?

时间:2014-09-09 18:12:24

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

我的用例非常简单,我有一个邀请系统,允许用户被邀请和注册。这是使用EmberJS,Ember-Data和Ruby on Rails堆栈。

MyEmberApp.InviteRoute = Ember.Route.extend({
  model: function(params) {
    return this.store.find('user', { invitation_token: params.token }).then(function(array) {
        return array.get('firstObject');
    });
  },

  setupController: function(controller, user) {
    controller.set('model', user);
  }
});

对象加载很好并且非常完美。

但是,这是我的Rails控制器的样子:

class Api::V1::UsersController < ApplicationController
  before_action :system_admin, only: [:index, :create]

  def index
    if params[:invitation_token]
      load_invited_user
      render json: @user
    else
      load_users
      render json: @users
    end
  end
end

我希望未经身份验证的用户能够接受邀请,上面的ember路由将使用此控制器加载用户。代码仅在用户登录且system_admin before_action正常运行时才有效。

你看到我的问题了?

如何将ember路由的URL自定义为单独的操作,以便我可以明确地将其设置为允许匿名用户?

0 个答案:

没有答案