我的应用程序将初始数据嵌入到html中,这样Ember就不需要在初始化时发送额外的http请求.我正在使用最新的Ember数据,但我无法成功获取JSON对象,这与Active Model Serializer在保存或创建记录时返回相同,并将其加载到存储中.
我目前正在尝试这些方法但没有成功:
在一条路线 -
this.get('store').load(App.Post, data)
Run Code Online (Sandbox Code Playgroud)
和
this.get('store').loadMany(App.Post, data)
Run Code Online (Sandbox Code Playgroud)
我还使用Pusher向我发送JSON(由Active Model Serializer生成)以获取更新的对象,并且我的路由中的回调目前看起来像这样.
refresh: function(data) {
var json = data
var store = this.get('store')
var type = App.Post
var id = data.reply.id
Ember.run(this, function(){
store.adapterForType(App.Post).didFindRecord(store, type, json, id);
});
}
Run Code Online (Sandbox Code Playgroud)
有没有人成功完成这个?我知道Discourse没有使用Ember Data,所以他们的解决方案是不同的.我非常感谢你对此事的任何帮助.谢谢
我有这个表格
<div id="login">
<h4>Please log in with your email address</h4>
<%= form_for(@user, id: "login", remote: true) do |f| %>
<% if @user.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label …Run Code Online (Sandbox Code Playgroud) 我有两个github帐户,一个用于工作,一个用于家庭。我正在做一个个人项目,无法推送到原始项目主管,因为它说我仍在登录工作帐户。
我重设了全局用户/ user.name / user.email / user.token,它仍然注册了我的工作帐户。
这可以不那么难吗?
谢谢
我有一个真正的野兽形式,基本上是一个五页的销售形式,当创建一个新的形式一切都很好.但是当你去编辑新表格时,它会复制字段和值四次,有时甚至是7次.我不知道编辑操作是如何工作的,它使用与新操作使用的相同的部分形式.但这是我的控制器操作新的和编辑操作.
此外,复制不会发生在每个字段中,似乎只发生在存在has_many关系的部分.
# GET /references/new
# GET /references/new.json
def new
@reference = Reference.new
@user_id = params[:user_id]
@reference.build_customer_overview
@reference.build_solution_description
@reference.solution_description.deal_details.build
component = @reference.components.build
component.servers.build
component.services.build
partner = @reference.build_partner
partner.competitors.build
partner.contacts.build
respond_to do |format|
format.html # new.html.erb
format.json { render json: @reference }
end
end
# GET /references/1/edit
def edit
@reference = Reference.find(params[:id])
@user_id = @reference.user_id
end
Run Code Online (Sandbox Code Playgroud)
我只是不知道它为什么会在编辑操作上生成额外的字段,希望有更多铁路经验的人知道这种行为.
谢谢!
编辑:
以下是每个红宝石块渲染4次的表单部分.
<%= f.fields_for :deal_details do |ff| %>
<div>
<%= ff.label :title, 'Customer\'s business/IT needs (why was this solution required)' %> …Run Code Online (Sandbox Code Playgroud) 嘿不确定是否有人可以帮助我,但我一直在努力解决这个错误很长一段时间:
"Uncaught TypeError: Object <App.AssetType:ember408:2> has no method 'addArrayObserver'"
这是带有{{#linkTo}}单击时产生此错误的模板
<div class="row">
<div class="twelve columns">
<h2>{{title}} - Assets</h2>
</div>
</div>
<div class="row">
<div class="three columns">
<ul>
{{#each assetTypes}}
{{#linkTo 'product.filter' this}}{{title}}{{/linkTo}}
{{/each}}
</ul>
</div>
<div class="nine columns">
{{outlet}}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
和应用程序代码
window.App = Ember.Application.create
rootElement: '.solution_products_documents'
App.ApplicationRoute = Ember.Route.extend
model: ->
App.Product.find()
App.ApplicationController = Ember.ArrayController.extend
sortProperties: ['title']
App.ProductRoute = Ember.Route.extend
model: (params) ->
App.Product.find params.product_id
setupController: (controller, model) ->
controller.set 'documents', model.get 'document_ids'
App.ProductController = Ember.ObjectController.extend
assetTypes: (-> …Run Code Online (Sandbox Code Playgroud)