我有一个ember-data模型定义,如下所示:
Sylvius.Filter = DS.Model.extend({
title: DS.attr('string'),
slug: DS.attr('string'),
// Belongs to Atlas
atlas: DS.belongsTo('Sylvius.Atlas'),
// Has images
images: DS.hasMany('Sylvius.Image'),
// May have AtlasExtras
extras: DS.hasMany('Sylvius.AtlasExtra'),
// Structures for this filter
structures: DS.hasMany('Sylvius.Structure'),
// This is the path to the thumbnails sprite.
// Each image will have an index on this sprite
thumbnailUrl: DS.attr('string'),
// How big is each thumbnail?
thumbnailHeight: DS.attr('number'),
thumbnailWidth: DS.attr('number'),
// How big are the images?
imageHeight: DS.attr('number'),
// which image is selected?
selectedImage: DS.belongsTo('Sylvius.Image') …Run Code Online (Sandbox Code Playgroud) 我认为我的gem测试要运行的虚拟应用程序没有正确设置,因为当我url_for在gem的助手中调用Gadget实例(虚拟应用程序中的存根模型)时,我得到了
undefined method `gadgets_path' for #<#<Class:0x007fe274bc1228>:0x007fe273d45eb0>
Run Code Online (Sandbox Code Playgroud)
背景:我分叉了一个宝石并做了一些重大改变.(这是分支.)现在我正在尝试使rspec测试工作,以便我可以验证我的更新.
测试设置类似于Rails引擎,在spec目录中有一个虚拟应用程序.该应用程序有一个model(Gadget),其中包含适当的控制器和spec/dummy/environment/routes.rb文件中声明的资源:
Dummy::Application.routes.draw do
resources :gadgets
end
Run Code Online (Sandbox Code Playgroud)
该spec/spec_helper.rb文件如下所示:
ENV["RAILS_ENV"] ||= "test"
require File.expand_path("../dummy/config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
RSpec.configure do |config|
config.mock_framework = :rspec
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = true
config.infer_base_class_for_anonymous_controllers = false
config.order = "random"
config.include Rails.application.routes.url_helpers
end
Run Code Online (Sandbox Code Playgroud)
(你实际上可以在项目的github repo中看到完整的测试设置.我实际上已经在一周左右开启了这个问题,但现在我才开始试图解决它.)
一个未挂起的测试创建一个Gadget实例,然后将该调用作为参数调用.当帮助程序尝试时url_for(@gadget),它会触发上述错误.
这有什么不对?
ETA Dec 04:更新了当前版本spec_helper.rb.
我正在尝试为红宝石获取'jcode',但我输入"gem install jcode"并且它说什么都不存在?
有谁知道为什么?我正在尝试操纵UTF-8编码的字符串.
与竞争对手相比,我很自然地被Ember的API /设计/语法所吸引,但看到性能明显变差,我感到非常难过.(例如,请参阅现在众所周知的http://jsfiddle.net/samdelagarza/ntMdB/167/.)我的眼睛告诉我至少比Chrome中的Backbone慢4倍.
EmberJS的0.9.6版本显然有许多性能修复,特别是在绑定和渲染方面.但是,使用此版本的Ember时,上述基准测试仍然表现不佳.
我将上述基准视为一个框架绑定成本的示范.我来自Flex,绑定表现得非常好,你不必经常考虑你想要使用的每个渲染器(乘以20个渲染器)的这5个绑定是不会有太大的开销.易用性很好,但只有保持足够好的性能.(更重要的是,因为HTML5也经常以移动设备为目标).
就目前而言,我倾向于认为Ember的美丽与其竞争对手相比并不值得表现,因为我们在谈论有很多绑定的大型应用程序,否则你首先不需要这样的框架.我可以忍受Ember的表现稍差; 毕竟它带来了更多的东西.
所以我的问题相当笼统和开放:
我试图用RJS替换DOM中的div.这是我试过的代码,控制器有这个方法:
def change
render :update do |page|
page.replace(:test_id, :partial => "input",:locals =>{ :type => 'text', :name => 'user[user][contactinfo][city]', :val => "", :size => '244', :placeholder_text => 'Yes it is working...'})
end
end
Run Code Online (Sandbox Code Playgroud)
该视图包含:
<div id = "test_id"></div>
<%= link_to "AJAX", "/poc/change", :remote => true %>
Run Code Online (Sandbox Code Playgroud)
现在我想div id="test_id"用部分提到的替换.
我得到的输出是:
try {
Element.replace("test_id", "<input type=\"text\" id=\"user[user][contactinfo][city]\" name=\"user[user][contactinfo][city]\" value=\"\" placeholder=\"Yes it is working...\" style=\"width:244px; height:33px; border:0; color:#646464; background:url(/images/form_textfield_244.png) 0 5px no-repeat; padding:12px 5px 0 5px; margin:0 0 10px 0;\" />\n");
} …Run Code Online (Sandbox Code Playgroud) 我正在使用从git master构建的Ember.我的RouteManager并不复杂,但是当我尝试启动我的应用程序时,我收到此错误:
未捕获的TypeError:对象的属性"1",不是函数
跟踪跟踪表明这是在应用程序初始化时发生的.
这个jsfiddle显示了问题,虽然你必须在javascript控制台中查看错误消息.我的实际路由器将比这更复杂,但我已经削减了它的骨头,试图消除潜在的错误来源.
这是我的情况:
我想按顺序依次运行Python脚本,从scriptA.py开始.当scriptA.py完成时,应运行scriptB.py,然后运行scriptC.py.在这些脚本按顺序运行后,我需要运行rsync命令.
我打算像这样创建bash脚本:
#!/bin/sh
python scriptA.py
python scriptB.py
python scriptC.py
rsync blablabla
Run Code Online (Sandbox Code Playgroud)
这是性能和稳定性的最佳解决方案吗?
在我的Android应用程序中,我使用下面的代码实现了发送短信.
Intent smsIntent = new Intent(Intent.ACTION_VIEW);
smsIntent.putExtra("sms_body", "Hello World!");
smsIntent.putExtra("address", "0123456789");
smsIntent.setType("vnd.android-dir/mms-sms");
startActivity(smsIntent);
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我在设备上有多个SMS应用程序,它会打开选择器以选择发件人应用程序.我不希望打开选择器; 我想从Android的原生短信应用程序发送,而无需打开选择器.所以任何帮助实现这一点将不胜感激.
我目前正在处理的网站没有为我的样式设置为低于480px的Chrome设备,但是在firefox中运行,chrome正在接收800px和1200px的媒体查询,我不能为我的生活弄明白为什么它没有拿起480px媒体查询.
请参阅下面的样式表.
@media screen and (max-width:1200px) {
.ui-tabs .tab {
clear:both;
height:386px;
width:550px;
margin:0 auto;
}
.ui-tabs .groundFloor {
background:url(img/groundFloor_550.jpg) top center;
}
.ui-tabs .firstFloor {
background:url(img/firstFloor_550.jpg) top center;
}
.ui-tabs .secondFloor {
background:url(img/secondFloor_550.jpg) top center;
}
}
@media screen and (max-width:800px) {
#slide1 h1.logo {
width:350px;
}
.mainnav {display:none;}
.navMobile {display:block;}
.navMobile {
height:auto;
}
.navMobile .menuBox {
height:auto;
min-height:40px;
width:100%;
display:inline-block;
position:fixed;
top:0;
left:0;
right:0;
background:#fff;
z-index:99999;
}
.navMobile .menuBox ul {
display:block;
clear:both;
height:auto;
width:100%;
padding:0;
margin:0; …Run Code Online (Sandbox Code Playgroud) 我正在将一个php应用程序移动到一个新的Web服务器上.在原始服务器中,以下代码正在运行,但它不在新服务器中.
$request=$connexion->prepare("SELECT * FROM access_control ");
$request->execute();
$request2=$connexion->prepare("SELECT * FROM tplmail ");
$request2->execute();`
Run Code Online (Sandbox Code Playgroud)
第一个请求始终有效.我试图反转这两个请求,但脚本总是停在第二个execute.在其他脚本中,存在同样的问题,我不能execute在同一页面中做两个.
在 Rails 应用程序中,销毁操作伴随着警告是很常见的 - “您确定要删除它吗?” 典型的代码如下所示:
link_to("Destroy", "http://www.example.com", :method => :delete, :confirm => "Are you sure?")
Run Code Online (Sandbox Code Playgroud)
ActiveAdmin 中是否有一种方法可以仅为一个模型(而不是全局)自定义确认字符串?我看到该字符串是从active_admin.delete_confirmation翻译键加载的。该字符串可以是特定于模型的吗?
我正在尝试在表格中列出一些数据.数据来自数据库,我的数据库中有3个表.
我试图在这样的SQL语句中加入这三个三个表:
SELECT * FROM cases
LEFT JOIN users ON cases.fk_supporter = users.user_id
LEFT JOIN users ON cases.fk_creator = users.user_id
Run Code Online (Sandbox Code Playgroud)
它fk_supporter是用户的外键,因此是fk_creatorto,但不是同一个用户.怎么做到这一点?
给我们一个字符串数组,我们需要一个char [],即所有字符串中所有字符的数组,例如:
输入:[我,爱,你]
输出:[i,l,o,v,e,y,o,u]
首先,我做了一个数组数组。
然后,我找到了所需的char []数组的长度。
到目前为止,我已经尝试了以下方法:
char[][] a1 = new char[str.length][];
for(int i =0;i<str.length;i++){
a1[i]=str[i].toCharArray();
}
int total=0;
for(int i =0;i<str.length;i++){
total = total + a1[i].length;
}
char[] allchar = new char[total];
for(int i=0;i<str.length;i++){
//NOW HERE I WANT TO MERGE ALL THE char[] ARRAYS TOGETHER.
//HOW SHOULD I DO THIS?
}
Run Code Online (Sandbox Code Playgroud)