小编Mud*_*Ali的帖子

不想在Ember.Collection视图中使用任何标记(包括默认的div标记)

标题可能听起来很愚蠢,请考虑以下代码

我的把手文件

<table id="main-table">
  <tr>
    <td>
      <h1>Some Text</h1>
    </td>
    {{#collection myCollectionView}}
    <td>
      <table>
        <tr><td>{{view.someProperty}}</td></tr>
      </table>
    </td>    
    {{/collection}}
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我的查看文件

myCollectionView = Ember.CollectionView.extend({
  contentBinding: "myController.someArray",
  //someArray has say 4 elements
  itemViewClass: Ember.View.extend()
})
Run Code Online (Sandbox Code Playgroud)

我希望它在#main-table中呈现4个表,而是将它们呈现在#main-table之外,因为它将我的itemViewClass内部包含在默认div标记内.我只能更改tagName属性但不能将其设置为nil我猜,这个问题有什么问题吗?

JSFiddle

回答一个答案 {{each}}的问题在于,我正在使用EditableField,如下所示:(
只是为了清晰,可编辑的字段是在双击并返回div标签时将div更改为文本字段的字段关注焦点,使用ember构建的简单小部件)

更新了Handlebars文件

<table id="main-table">
  <tr>
    <td>
      <h1>Some Text</h1>
    </td>
    {{#collection myCollectionView}}
    <td>
      <table>
        <tr><td>{{view.myEditableField valueBinding="view.content"}}</td></tr>
      </table>
    </td>    
    {{/collection}}
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

更新的视图文件

myCollectionView = Ember.CollectionView.extend({
  contentBinding: "myController.someArray",
  //someArray has say 4 elements
  itemViewClass: Ember.View.extend({
    alertFunc: function(){ …
Run Code Online (Sandbox Code Playgroud)

handlebars.js ember.js

4
推荐指数
1
解决办法
1540
查看次数

RaphaelJS问题...草稿还是草稿?

嗨,我有一个下拉菜单,每当我更改下拉菜单中的选项时,我都想更改画布中的内容...例如

var paper = Raphael("myDivID",400,400);
function smallRectangle(){
  paper.rect(10,10,100,50);
}
function bigRectangle(){
  paper.rect(10,10,150,100);
}
Run Code Online (Sandbox Code Playgroud)

在下拉菜单中,我将有两个选项“小矩形”和“大矩形”。我想在下拉选择中调用相应的函数。我面临的问题是,一旦我更改了下拉选项Raphael似乎就无法绘制它。我已经在计算器的一些问题看,有没有必要使用再拉伸技术在RaphaelJS 一看便知

即使我这样尝试:

var paper = Raphael("myDivID",400,400);
function smallRectangle(){
  paper.clear()
  paper.rect(10,10,100,50);
}
function bigRectangle(){
  paper.clear()
  paper.rect(10,10,150,100);
}
Run Code Online (Sandbox Code Playgroud)

这个clear()函数似乎并没有在画布上添加元素。画布仍为空。
仅供参考:我的代码很大,因此我在这里发布了这个简单的示例。

raphael

3
推荐指数
1
解决办法
1751
查看次数

使用"a"标记的Ember View帮助程序出现意外行为

{{#view tagName="a" href="#"}}
  The Link
{{/view}}
Run Code Online (Sandbox Code Playgroud)

预期的HTML

<a href="#" class="ember-view" id="emberXXX"> The Link </a>
Run Code Online (Sandbox Code Playgroud)

现实

<a class="ember-view" id="emberXXX"> The Link </a>
Run Code Online (Sandbox Code Playgroud)

看不到href属性

也试过了 hrefBinding="#", href=true

在类似的路线上,我想将一个动作与它相关联,因此尝试了以下失败尝试

{{#view tagName="a" href="#" snippet}}
  The Link
{{/view}}
Run Code Online (Sandbox Code Playgroud)

片段在哪里action="showHome", click="showHome", actionBinding="showHome", clickBinding="showHome"(此处的操作用于路由转换)

他们都没有工作,我知道我可以做到

<a href="#" {{action showHome}}>The Link</a>
Run Code Online (Sandbox Code Playgroud)

定义视图

aView = Ember.View.extend({
  tagName: 'a',
  click: function(){
    this.get('controller').controllers.send('showHome');
  }
})
Run Code Online (Sandbox Code Playgroud)

让事情有效但我很好奇如何以模板方式实现它

javascript handlebars.js ember.js

3
推荐指数
1
解决办法
145
查看次数

RESTful添加/删除has-many-through关联的方式

我有以下型号

class User < ActiveRecord::Base
  has_many :user_wishes
  has_many :wishes, through: :user_wishes
end
 
class UserWish < ActiveRecord::Base
  belongs_to :user
  belongs_to :wish
end
 
class Wish < ActiveRecord::Base
  has_many :user_wishes
  has_many :users, through: :user_wishes
end
Run Code Online (Sandbox Code Playgroud)

现在我有以下界面,用户可以在其中选择/取消选择愿望.

愿望清单

一旦用户完成选择/取消选择,他就提交表单.现在我在后端做的就是user_wishes为给定的user_id&创建或销毁记录wish_id.

现在有两种方法可以实现我能想到的解决方案.

1.通过计算现有和新愿望之间的差异

假设用户已经有N个愿望,现在他提出了M愿望的新请求.我将删除(N - M)的差异并添加(M - N)的差异.这种方法似乎非常低效,因为我总是必须通过网络发送(N∩M).

端点: /user_wishes
TYPE : POST ? 但它也删除了记录
参数: {wish_id: [1,2 ..], user_id: 10}

2.仅发送已更改的

我将在前端有逻辑,它给出了一个新添加/删除的愿望列表.

端点: /user_wishes
TYPE : POST ? 但它也删除了记录
参数: …

rest ruby-on-rails has-many-through ruby-on-rails-4

3
推荐指数
1
解决办法
954
查看次数

基于ruby的服务器的自适应映像

我想根据用户屏幕的大小向客户端发送图像,如果我有高分辨率图像,并且用户想要在移动设备上查看它我不想发送完整的高清图像,而是我想将缩小的图像发送到用户的设备维度,这将增加低带宽设备的加载速度

有一个解决方案在这里

自适应数字图像检测访问者的屏幕尺寸,并自动创建,高速缓存,并提供你的网页的嵌入式HTML images.It的设备进行适当的重新定标版本适用于采用自适应设计,并与液体结合使用图像技术.(来自给定的链接)

我看到这种为解决方案phpapache基于服务器的,是有其具有基于Ruby的服务器的Web应用程序的解决方案?一个gem可能是...谢谢

ruby rack ruby-on-rails sinatra responsive-design

2
推荐指数
1
解决办法
949
查看次数

Ruby实例方法和具有相同名称的条件局部变量赋值

class A
  def numbers
    [1,2,3,4]
  end

  def get_numbers(condition)
    numbers = [3,5] if condition
    numbers
  end
end

a = A.new
a.get_numbers(true) # [3,5]
a.get_numbers(false) # nil
Run Code Online (Sandbox Code Playgroud)

我希望它能[1,2,3,4]在第二种情况下回归!

PS我不是在寻找解决方案(我可以只有两个不同的变量名来解决我的问题),而是我正在寻找这种行为的解释,ruby是否numbers在运行时自身创建变量并nil因为if条件而初始化为?

ruby

1
推荐指数
1
解决办法
598
查看次数