我一直在谷歌搜索寻找一种简单的方法来做到这一点,我找不到一个.
我有一个自定义终端环境设置(zsh)与各种别名和功能,以使事情更容易.我经常遇到的一件事是我会快速APPLE-t创建一个新选项卡,然后输入相对于我刚刚进入的终端窗口路径的命令.这总是失败,因为新选项卡的路径是〜/而不是我刚刚使用的任何东西!脚本将新终端选项卡的目录路径设置为打开选项卡的目录路径的任何想法?
任何帮助最受赞赏.
伊恩
我正在使用Ember.js并且我想创建一个catch all route,以便在用户导航到与资源不匹配的URL时将用户发送回应用程序的根目录.(我正在使用历史API)我已经实现了这样:
App.Router.map(function() {
this.resource('things', function() {
this.resource('thing', {path:':thing_id'});
});
this.route('catchAll', { path: ':*' });
this.route('catchAll', { path: ':*/:*' });
this.route('catchAll', { path: ':*/:*/:*' });
});
App.Router.reopen({
location: 'history'
});
App.CatchAllRoute = Ember.Route.extend({
redirect: function() {
this.transitionTo('index');
}
});
App.IndexRoute = Ember.Route.extend({
});
Run Code Online (Sandbox Code Playgroud)
我的问题是:我可以定义一个单一的捕获所有路径,它将匹配任何未解析为资源的路径,而不管路径中的段数是多少?
我使用的是Ember.VERSION:1.0.0-rc.1
我以前曾多次使用asset_sync gem取得了巨大成功,但在Rails 4.0.3项目中使用它似乎导致了问题.
资产被上传,散列和gzip到目标目录(我只使用默认的'assets'),但是当在临时/生产环境中运行应用程序时,路径不正确.
他们采取以下形式:
S3_DOMAIN.com/stylesheets/application.css
Run Code Online (Sandbox Code Playgroud)
代替:
S3_DOMAIN.com/assets/application-HASH.css
Run Code Online (Sandbox Code Playgroud)
还有其他人遇到过这个问题吗?我发现反转此行为的唯一方法是将config.assets.compile设置为true,但这在生产环境中不起作用.
以下是相关的配置文件:
## environments/staging.rb
config.serve_static_assets = false
config.assets.compress = true
config.assets.js_compressor = :uglifier
config.assets.css_compressor = :sass
# Have to set this to true to make asset_sync generate the correct links
config.assets.compile = false
config.assets.digest = true
config.assets.enabled = true
config.assets.initialize_on_precompile = true
config.action_controller.asset_host = "//#{Figaro.env.fog_directory}.s3.amazonaws.com"
config.action_mailer.asset_host = "//#{Figaro.env.fog_directory}.s3.amazonaws.com"
config.assets.prefix = "/assets"
config.assets.debug = false
config.assets.cache_store = :memory_store
##config/asset_sync.yml
defaults: &defaults
fog_provider: 'AWS'
aws_access_key_id: "<%= ENV['AWS_ACCESS_KEY_ID'] %>"
aws_secret_access_key: "<%= ENV['AWS_SECRET_ACCESS_KEY'] %>"
# To …Run Code Online (Sandbox Code Playgroud) ruby ruby-on-rails asset-pipeline ruby-on-rails-4 asset-sync
这是我在这个相当狡猾的网站上的第一篇文章,所以如果在其他地方已经讨论过这个问题,我会很容易(如果有的话我找不到它).
我正在使用这里找到的JQuery URL解析器插件:http://projects.allmarkedup.com/jquery_url_parser/
我可以让它做我想要的但是代码效率很低.我有一个隐藏div的集合,在点击相关标题时打开.我正在使用URL解析器,以便如果从另一个页面单击链接,则相关的div是可见的.
我的代码看起来像这样:
if
(jQuery.url.attr('anchor') == 'question1'){
$('#answer1').show();
}
else if
(jQuery.url.attr('anchor') == 'question2'){
$('#answer2').show();
}
else if
(jQuery.url.attr('anchor') == 'question3'){
$('#answer3').show();
}
else if
(jQuery.url.attr('anchor') == 'question4'){
$('#answer4').show();
}
else if
(jQuery.url.attr('anchor') == 'question5'){
$('#answer5').show();
}
else if
(jQuery.url.attr('anchor') == 'question6'){
$('#answer6').show();
}
else if
(jQuery.url.attr('anchor') == 'question7'){
$('#answer7').show();
}
else if
(jQuery.url.attr('anchor') == 'question8'){
$('#answer8').show();
};
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,这是相当漫长的.我真正希望能够做的是获取URL末尾的数字并将其附加到#answer,以便更紧凑.我试图将(jQuery.url.attr('anchor')的结果分配给变量,但是我在完成此任务时遇到了一些麻烦.任何帮助都将不胜感激!
我试图使用Ember.run.debounce仅在有许多子视图触发保存时触发父视图或控制器上的保存操作.问题似乎是闭包(匿名函数),但我找不到任何在这个上下文中在Ember中实现去抖动的最佳方法的例子.
这是一个概述问题的jsbin.任何帮助或指针赞赏!
我可以使用以下方法解释多元化:
DS.RESTAdapter.configure("plurals", {
query: "queries"
});
Run Code Online (Sandbox Code Playgroud)
但我需要将".json"附加到正在生成的所有路由,因为我正在使用的API会抛出错误,如果不这样做的话.苦苦寻找有关ember-data的文档,最好的方法是什么?
我在Ember中定义了三个模型,并且根据请求返回所有json:
App.Comment = DS.Model.extend({
discussion: DS.belongsTo('App.Discussion')
});
App.Discussion = DS.Model.extend({
meeting: DS.belongsTo('App.Meeting'),
comments: DS.hasMany('App.Comment')
});
App.Meeting = DS.Model.extend({
discussions: DS.hasMany('App.Discussion')
});
Run Code Online (Sandbox Code Playgroud)
从会议控制器中的路由会议/:id,我希望能够遍历讨论集合,为每个实例设置新的讨论控制器.然后我需要能够遍历每个讨论评论,再次做同样的事情.目前我似乎能够访问关联中定义的属性,但是如果我调用计算属性,则会返回不正确的结果(例如,当它应为5时,计数为0).我认为这个问题与控制器的上下文有关,因为我似乎无法在控制器中返回该对象的值.它可能非常简单,但我看不到它.我究竟做错了什么?
这是控制器:
App.MeetingController = Ember.ObjectController.extend({
needs: ['discussion']
});
App.DiscussionController = Ember.ObjectController.extend({
commentCount: function(){
return this.get('comments.length');
}.property('comments')
});
Run Code Online (Sandbox Code Playgroud)
然后在meeting.hbs模板中:
{{#each discussion in discussions}}
{{ render 'discussion' discussion }}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
和discussion.hbs模板一样,这个工作原理:
<div>
{{ comments.length }}
</div>
Run Code Online (Sandbox Code Playgroud)
但这不是:
<div>
{{ commentCount }}
</div>
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
我已经看到了一些关于这个主题的反思例子,但我找不到任何解决这个问题的方法。感觉有点复杂,但替代方案是大量重复,所以我想我会试一试。
我有一个返回函数(处理程序)的函数。包装函数传入一个结构体的实例。我需要内部函数来创建一个指向该结构类型的指针:
func createCollectionHandler(app *appSession, record interface{}, name string) func(res http.ResponseWriter, req *http.Request) {
return func(res http.ResponseWriter, req *http.Request) {
res.Header().Set("Content-Type", "application/json")
// This line needs to be dynamic:
var result []*Person
err := meddler.QueryAll(app.MysqlDB, &result, "select * from "+name)
if err != nil {
log.Fatal(err)
}
json, err := json.MarshalIndent(result, "", " ")
if err != nil {
log.Println(err)
}
res.Write([]byte(json))
return
}
}
Run Code Online (Sandbox Code Playgroud) ember.js ×4
ember-data ×2
asset-sync ×1
bash ×1
ember-router ×1
go ×1
jquery ×1
macos ×1
parsing ×1
reflection ×1
ruby ×1
terminal ×1
url ×1
zsh ×1