如何在不对应用程序上下文进行硬编码的情况下,从Grails应用程序中的.js文件创建指向资源(图像,.css文件等)的链接?
在.gsp文件中,我可以使用资源插件提供的r:img或r:resource标记轻松完成此操作.如果应用程序未使用此插件,则g:resource可以使用该标记.但是,这些插件都不能从.js代码中使用.
我当前的解决方案(我讨厌)是将.js代码放在.gsp文件中,然后使用前面提到的图像标签,例如
<r:script>
var imagePath = '<r:img file="foo/bar.png"/>';
<r:script>
Run Code Online (Sandbox Code Playgroud)
我的问题是如何从.js文件链接到资源,而不是从<script>GSP中的块中的某些JavaScript代码链接.在后一种情况下,我可以使用像<r:img>或<r:resource>或等的GSP标记<g:createLink>,但忽略.js文件中的GSP标记.
我有一个网站,我使用Firefox 9专门开发和测试.在这个版本的Firefox中查看时,我对布局/样式非常满意.我现在面临着一个令人尴尬的任务,即在IE7 +中使它显示同样好(或尽可能接近)(我不支持IE6).当然,我也希望它能在Chrome和Safari中很好地展示,但我认为他们合理地实施了这些标准,所以我并不那么担心它们.
我正在使用JQuery for JavaScript,这有望意味着我在JavaScript行为方面没有太多差异,所以我主要担心的是CSS.我想其他很多人都走这条路,所以我希望有一个样式表,当(有条件地)包含它时,将修复在IE浏览器中查看过的仅用Firefox测试的网站时看到的最常见的CSS问题.这样的事情存在吗?
Isotope提供了两个可以提供回调函数的地方:
container.isotope({
itemSelector: itemSelector,
layoutMode: 'fitRows',
onLayout: function() {alert('onLayout callback')}
}, function() {alert('anon callback')});
Run Code Online (Sandbox Code Playgroud)
我不知道这两者之间有什么区别 - 在布局完成后,它们似乎都被称为一次.我查看了文档,但我能找到的只是
与回调类似,onLayout是每次Isotope实例运行其布局逻辑后都会触发的函数.
我正在使用Compass/Lucene来搜索和索引我的数据库.我想在搜索时忽略变音符号和字符大小写,这样查询"foo"将匹配"Fóo"和"foo",查询"fóó"将匹配"fóo"和"fOO".
基于我所读到的内容,似乎我需要更改Compass在索引和搜索我的上下文时使用的默认分析器.我已经找到了指定要使用的分析器的位置,但我似乎无法找到满足我要求的分析器实现.是否已经存在一个忽略变音符号和字符大小写的分析器,或者我是否需要编写自己的分析器?
我正在尝试将一个新的本地分支(名为"haystack")推送到我的github仓库:
git push -u origin haystack
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
错误:请求的URL返回错误:403访问https://github.com/Grails48/airbrake-grails.git/info/refs
这是我第一次尝试推动这个回购.我查看了我的GitHub帐户的"SSH密钥"部分,它说:
tony.drago@Office100 (b5:4d:e3:8f:26:76:cd:15:8b:c8:4c:f4:a7:fd:29:c3)
Run Code Online (Sandbox Code Playgroud)
(这不是真正的关键价值)
Airbrake/Errbit 是收集其他应用程序生成的错误并汇总结果以供审核的应用程序。Airbrake 是一款商业应用程序,而 Errbit 是 Airbrake 的开源克隆。
我需要一些帮助来弄清楚 Errbit API。我不是在谈论您用来向 Errbit 发送错误的 API,而是 Errbit(和 Airbrake)有另一个 API,您可以用它来读回数据。Airbrake API 有相当详细的文档,但没有 Errbit API 的文档。我向 Errbit Google Group 发布了有关他们的 API 的问题,并被告知:
我查看了代码,但作为一个非 Rubyist,我无法理解它。
我想做的就是获取特定应用程序(项目)的错误总数。如果只能获取所有错误,那么我可以在 API 客户端中过滤掉感兴趣的项目的错误。
熟悉 Rails 应用程序的人可以看看 API 是否支持此功能,如果支持,请解释一下如何调用它(我应该使用什么 URL 和参数)?
在我的Grails 2.X应用程序中,我有一个Foo域类.从集成测试中,以下两个断言都通过:
def foo2 = new Foo()
foo2.id = 2L
assertEquals 2L, foo2.id // as expected
def foo = new Foo(id: 1L)
assertNull foo.id // not expected
Run Code Online (Sandbox Code Playgroud)
在任何情况下,我都不会尝试持久保存Foo实例.为什么我能够使用点语法分配id,但是当我使用map构造函数时却不能?
我已经创建了一个非常简单的jsFiddle示例,它将一个点击处理程序分配给两个单选按钮:
$(document).ready(function () {
$(".title").on("click", function (event) {
alert('clicked');
});
});
Run Code Online (Sandbox Code Playgroud)
如您所见,每次选择一个单选按钮时,处理程序被调用两次,为什么?
<label class="title">
<input type="radio" name="heading" checked="checked" />Introduction and General Information about the Marketing Tool
</label>
<label class="title">
<input type="radio" name="heading" />Implementation Steps of the Marketing Tool
</label>
Run Code Online (Sandbox Code Playgroud) 我想了解如何处理参数中的Long数组。我知道可以将Long参数作为params.long('var')一个数组来处理,params.list('var')但对于如何处理Long数组却不清楚。
谢谢。
我的Grails应用程序具有以下命令对象
class MyCommand {
@BindUsing({
obj, source ->
User.findByUsername(source.username)
})
User user
// other stuff not relevant to this question
}
Run Code Online (Sandbox Code Playgroud)
请求参数包括username唯一标识的参数User.我添加了@BindUsing注释,以便将user命令对象的属性绑定到相应的User实例.但是,在数据绑定完成后user,即使username参数正确,该字段也为空.我究竟做错了什么?
grails ×5
javascript ×2
jquery ×2
airbrake ×1
api ×1
cross-domain ×1
css ×1
data-binding ×1
errbit ×1
git ×1
github ×1
grails-2.0 ×1
groovy ×1
java ×1
lucene ×1
params ×1
ruby ×1
search ×1