我有域名说
class Content{
String content
Date dateCreated
Date lastUpdated
}
Run Code Online (Sandbox Code Playgroud)
数据库中的内容记录很少.我想检索最新的两条记录.在Grails中查询两个最新记录的有效方法是什么?谢谢!
我的代码取决于表中记录的顺序。我的假设是,可以将表视为列表,以便记录保持顺序。我有一个小的更新代码,如下所示,它将更新表中特定索引处的记录。
p = pieces[index]
p.position = 0
p.save
Run Code Online (Sandbox Code Playgroud)
我检查了此更新之前和此更新之后的记录顺序,然后看到更新之后,已更新的记录已移至列表的最后。我打印Piece.all以打印列表。该命令在mysql中维护,但是当我将其部署到使用postgre的heroku时,该命令没有得到维护,因此这对我来说是一个令人惊讶的发现。
表中没有顺序的保证,并且不应该依赖顺序吗?请纠正我的误会,并感谢您的澄清。
我们将定义视为
function Stone() {
this.x = 0;
this.y = 400;
};
Run Code Online (Sandbox Code Playgroud)
我实例化一个对象
var st = new Stone;
var ll = [st];
var remov = ll.splice(0, 1);
alert(remov.x);
Run Code Online (Sandbox Code Playgroud)
这里删除从列表中删除对象,但所有属性都设置为undefined.警报将提醒"未定义".为什么会这样?
请考虑以下型号
class Song < ActiveRecord::Base
enum category: [:english, :french]
enum file_type: [:mp3, :video]
enum mood: [:sad, :happy]
end
Run Code Online (Sandbox Code Playgroud)
我有一个表格
= simple_form_for(@song) do |f|
= f.input :name
= f.input :category, collection: Song.categories
= f.input :file_type, collection: Song.file_types
= f.input :mood, collection: Song.moods
Run Code Online (Sandbox Code Playgroud)
这里的问题是,当我编辑表单时,所选的值为nil,即选择框未选择设置的值,而是选择了空白。所以我想知道视图中是否有办法显示保存的枚举值?
谢谢!
我创建了一个加密对象,如下所示:
var crypto = {
encrypt: function(s) {
}
};
crypto.encrypt("cat");Run Code Online (Sandbox Code Playgroud)
我会收到以下错误
未捕获的TypeError:
crypto.encrypt不是函数
var crypt = {
encrypt: function(s) {
}
};
crypt.encrypt("cat");Run Code Online (Sandbox Code Playgroud)
这会工作。我意识到已经有一个内置crypto对象,因此无法识别我定义的加密对象。
我的理解是,稍后声明的变量将覆盖之前声明的变量。
例如,当我创建两个对象时,如下所示:
var test = {
testing2: function() {
return "there";
}
}
var test = {
testing: function() {
return "hey";
}
}
test.testing2()Run Code Online (Sandbox Code Playgroud)
然后我打电话给我,test.testing2()因为第二个测试变量遮盖了第一个测试变量,所以引发了类似的错误。因此,如果变量影子可用于自创建变量,那么为什么不加密加密货币呢?是否存在这样的情况,即预定义对象的优先级始终较高,因此任何自行创建的对象都不会遮盖窗口对象。我对此表示感谢。谢谢!
这是使用收集的代码
?def lst = [1,2,3,4];
def newlst = [];
newlst = lst.collect {element -> return element * element}
println(newlst);
Run Code Online (Sandbox Code Playgroud)
这是使用 findResults 的代码
def lst2 = [1,2,3,4];
def newlst2 = [];
newlst2 = lst2.findResults {element -> return element * element}
println(newlst2);
Run Code Online (Sandbox Code Playgroud)
?两者似乎都返回 [1, 4, 9, 16] 那么有什么区别呢?谢谢!
我正在将 grails 2.2 升级到 grails 4.0.10。
在使用 java 7 的 grails 2.2 中,这曾经可以工作
def eanalytics = EventAnalytics.createCriteria().get(){
eq('event', raceGroup)
lt('dateCreated', timeService.now())
gt('dateCreated', timeService.now() - 1)
}
Run Code Online (Sandbox Code Playgroud)
现在对于 grails 4 和 java 8 我收到此异常
Caused by: groovy.lang.MissingMethodException: No signature of method: java.util.Date.minus() is applicable for argument types: (Integer) values: [1]
Possible solutions: find(), find(groovy.lang.Closure), is(java.lang.Object), any(), print(java.io.PrintWriter), use([Ljava.lang.Objec
Run Code Online (Sandbox Code Playgroud)
似乎我无法通过减去 java 8 中迄今为止的天数来获得新日期。执行此操作的等效代码是什么?谢谢您的帮助。
timeservice.now 是
def now(){
def now = new Date()
return now
}
Run Code Online (Sandbox Code Playgroud) 当我打印
(new BigDecimal(5) * new BigDecimal(0.049))?
Run Code Online (Sandbox Code Playgroud)
它给
0.24500000000000000943689570931383059360086917877197265625
Run Code Online (Sandbox Code Playgroud)
当我使用ROUND_HALF_EVEN围绕它
(new BigDecimal(5) * new BigDecimal(0.049)).setScale(2, BigDecimal.ROUND_HALF_EVEN)?
Run Code Online (Sandbox Code Playgroud)
它打印
0.25
Run Code Online (Sandbox Code Playgroud)
所以我的困惑是,它不应该舍入到偶数,所以代替0.25不应该是0.24.请帮助解决这个困惑.谢谢!
我正在玩 grails 3 应用程序。我使用简单的操作创建了这个简单的图书应用程序。它没有更新记录。
这是图书域名
package bookapp
class Book {
String name
static constraints = {
}
}
Run Code Online (Sandbox Code Playgroud)
这是图书控制器
package bookapp
import grails.plugin.springsecurity.annotation.Secured
@Secured('ROLE_USER')
class BookController {
def index() {
[books: Book.findAll()]
}
def create(){
}
def save(){
def book = new Book(params)
book.save()
redirect(action:'show', id:book.id)
}
def edit(Long id){
[book: Book.get(id)]
}
def update(Long id){
def book = Book.get(id)
bindData(book, params)
book.save()
redirect(action:'show', id:book.id)
}
def show(Long id){
[book: Book.get(id)]
}
def destroy(){
}
}
Run Code Online (Sandbox Code Playgroud)
这是编辑视图页面
<h1> Edit Book …Run Code Online (Sandbox Code Playgroud) 我想知道是否可以有两种不同的注册表。我希望隐藏字段在这两种形式中具有两个不同的值。隐藏字段为role,值可以是“buyer”或“seller”。
我想根据角色将角色嵌入注册表中。
我已经制作了这条通过 url 传递角色的路线。
devise_scope :user do
get "/users/sign_up/:role" => 'devise/registrations#new', :as => 'new_user_with_role'
end
Run Code Online (Sandbox Code Playgroud)
在注册/新表格中
<%= f.hidden_field :role, :value => params[:role] %>
Run Code Online (Sandbox Code Playgroud)
这给人一种两个单独的注册表单的感觉。这是可行的,但是当提交注册表单出现错误时,然后在错误后的视图中,隐藏字段值将被清除。需要隐藏值才能创建具有角色的帐户。
当提交注册表单出错时,有没有办法保留角色隐藏字段?
grails ×3
groovy ×2
javascript ×2
devise ×1
enums ×1
grails-4 ×1
grails-orm ×1
java ×1
java-8 ×1
postgresql ×1
rounding ×1
ruby ×1
simple-form ×1
sql-order-by ×1