我有一个小型应用程序.我想在其中加入审计跟踪.基本上添加新用户时.它将在AuditTrailUsers表中插入一行,并创建新的user_id并登录用户的user_id.
我正在考虑使用rails回调before_save.但是,我不确定这是否有效.
想象一下,我有 model/Users.rb和model/AuditTrailUser.rb
class User < ActiveRecord::Base
validates_presence_of :userid, :password
before_save :insert_audit
def self.authenticate(userid, password)
user = self.find_by_userid_and_password(userid, password)
user
end
##implement insert_audit
end
Run Code Online (Sandbox Code Playgroud)
我如何实现insert_audit它以获取用户ID(登录用户),以便它可以在调用时将其传递给AuditTrailUser AuditTrailUser.create(...).
如果我传入登录用户的用户ID ...那么我是否必须明确地呼叫before_save每个地方......
我是铁杆新手.
println args
println args.size()
println args.each{arg-> println arg}
println args.class
if (args.contains("Hello"))
println "Found Hello"
Run Code Online (Sandbox Code Playgroud)
当运行时给出以下错误:
[hello, somethingelse]
2
hello
somethingelse
[hello, somethingelse]
class [Ljava.lang.String;
Caught: groovy.lang.MissingMethodException: No signature of method: [Ljava.lang.
String;.contains() is applicable for argument types: (java.lang.String) values:
[Hello]
Run Code Online (Sandbox Code Playgroud)
为什么我不能这样做contains?
我正在准备编写许多小型实验性Java程序,因为我正在学习java认证.因为我想避免使用IDE,所以我试试gvim.
我打开了一个HelloWorld.java文件.如何运行javac然后java能够在一个窗口中查看输出?
我不想将选项卡添加到dos提示窗口.在那里编译/运行程序,然后回到我的编辑器.
例如:
SortedSet EXTENDS Set
NavigableSet EXTENDS SortedSet
Run Code Online (Sandbox Code Playgroud)
最终在最底层(实际实施的那个)获得的好处是什么?在上面的情况下,它将是TreeSet
如果某个类是EXTENDING一个接口,那么该类应该是一个接口吗?