【问题标题】:ember with rails sending requests to the wrong controller actionember with rails 向错误的控制器操作发送请求
【发布时间】:2014-05-25 12:57:13
【问题描述】:

我在 Rails 应用程序中有名为 Request 的模型。现在,我已将 Ember 集成到我的应用程序中的特定路由中,而不是整个应用程序,不确定这是否是相关信息,但无论如何都要提供它以防万一。这是我的 ember 路线:

VsRorDev.RequestsRoute = Ember.Route.extend(model: ->
  @get("store").findAll "request"
)

这是模板文件(requests.hbs)

<h4>This is the index page of reqs</h4>
{{#each  model}}

<h4> {{id}} </h4>

{{/each}}

这是ember模型文件

VsRorDev.Request = DS.Model.extend
    id: DS.attr('integer')
    service_id: DS.attr('integer')
    due_on: DS.attr('string')
    vendor_service_id: DS.attr('integer') 

这是 Admin::EmberRequestsController 中的 rails 控制器操作

def index
    Rails.logger.info "********** INSIDE INDEX OF REQUEST*************"
    # @requests = determine_what_to_do
    @requests = Request.all
    render json: @requests
end

这是序列化器

class RequestSerializer < ActiveModel::Serializer
    attributes :id, :service_id, :due_on, :vendor_service_id, :workflow_step,:user_id,:created_at,:updated_at,:query,:admin_filter_payment_status_id,:admin_filter_status_id, :admin_filter_source_id, :admin_filter_priority_id,:admin_filter_due_by_id, :admin_filter_type_id, :admin_filter_lead_id, :admin_filter_payment_mode_id, :admin_filter_widget_id, :admin_filter_reminder_id, :agent_id, :deleted_at,:spam
end

ember 的请求将发送到 localhost:3000/requests,而我希望它发送到 localhost:3000/admin/ember_requests。我该怎么做?

【问题讨论】:

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


    【解决方案1】:

    导轨部分

    Rails 控制器可以通过像admin/ember 这样的适当命名空间来更改。所以,你可以让你的 Rails 控制器像这样Admin::Ember::RequestsController

    余烬部分

    全局命名空间

    您可以像这样配置应用程序适配器(如果您使用的是 ember-rails gem,则在 store.js 中)

    App.ApplicationAdapter = DS.ActiveModelAdapter.extend({ namespace: 'admin/ember' }); 现在,来自您的 ember 模型的所有请求都将发送给您一个 URL /admin/ember/requests/admin/ember/posts

    具体型号

    如果您只想向特定命名空间发出一个模型的请求,您可以这样配置

    App.RequestAdapter = DS.ActiveModelAdapter.extend({ namespace: 'admin/ember' });

    参考这个customizing adapters part in emberjs guides

    【讨论】:

      猜你喜欢
      • 2016-05-17
      • 1970-01-01
      • 1970-01-01
      • 2019-12-26
      • 2015-10-09
      • 2012-09-07
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多