我的rails应用程序中的模型名为Request
。现在我已将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}}
这是余烬模型文件
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
。我该怎么做?
答案 0 :(得分:1)
可以使用适当的命名空间来更改Rails控制器,例如admin/ember
。所以,你可以让你的Rails控制器像这样Admin::Ember::RequestsController
您可以像这样配置应用程序适配器(如果您使用store.js
gem,则在ember-rails
中)
App.ApplicationAdapter = DS.ActiveModelAdapter.extend({
namespace: 'admin/ember'
});
现在,来自您的ember模型的所有请求都将向您发送网址/admin/ember/requests
或/admin/ember/posts
。
如果您只想要对特定命名空间发出一个模型的请求,您可以像这样配置
App.RequestAdapter = DS.ActiveModelAdapter.extend({
namespace: 'admin/ember'
});