小编tak*_*sot的帖子

仅基于外键属性的关联类是什么?

简短:我有一个外键属性,想知道该外键字段的类(或引用表)是什么.

语境:

给出2个表:users(id, [other fields])issues(id, user_id, assigned_to, [other fields])

这是我的问题的活跃记录(提取不相关的部分)

class User < ActiveRecord::Base
  ...
end
class Issue < ActiveRecord::Base
  belongs_to :user
  belongs_to :assigned_user, :foreign_key => 'assigned_to', :class_name => 'User'
  ...
end
Run Code Online (Sandbox Code Playgroud)

我想做一个用户可读的更改日志记录.例如,当更改分配的用户时,我希望得到如下消息:Assigned to is changed from Otto to Zoltan.ActiveRecord具有changes一个很好的起点,但它只给我参考ID-s.要翻译成名称,我需要通过id读取用户.

对于关联:user来说,这很容易,因为我必须遵循惯例.但是如何获取assigned_to属性的相同信息(我想制作一般解决方案)?是否有可能弄清楚我们是否有给定属性的关联?我们可以提取该关联的类吗?

activerecord ruby-on-rails

13
推荐指数
2
解决办法
4220
查看次数

春季mvc测试中的空内容

我无法使用spring mvc test测试页面内容,因为它是空的.

给出最简单的控制器:

@RequestMapping(value = "/home")
public String home(HttpSession session, ModelMap model) {
  return "home";
}
Run Code Online (Sandbox Code Playgroud)

相关的瓷砖配置:

<definition name="base.definition" template="/jsp/view/application.jsp">
  <put-attribute name="header" value="/jsp/view/header.jsp" />
  <put-attribute name="menu" value="/jsp/view/menu.jsp" />
  <put-attribute name="title" value="" />
  <put-attribute name="body" value="" />
  <put-attribute name="footer" value="/jsp/view/footer.jsp" />
</definition>
<definition name="home" extends="base.definition">
  <put-attribute name="title" value="Welcome" />
  <put-attribute name="body" value="/jsp/view/home/list-home.jsp" />
</definition>
Run Code Online (Sandbox Code Playgroud)

简单 list-home.jsp

<p>Welcome</p>
Run Code Online (Sandbox Code Playgroud)

而且测试:

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration()
@ContextConfiguration(classes = WebTestConfig.class)
public class HomeControllerTest {
  @Autowired
  private WebApplicationContext wac;
  private MockMvc mockMvc;

  @Before
  public void _setup() {
    this.mockMvc …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc-test

7
推荐指数
1
解决办法
2207
查看次数

在GWT中进行Wiki渲染

当我们想要使用类似wiki的语法时,客户端渲染很有用.不幸的是,我没有找到任何在GWT客户端提供wiki语法渲染的库.

有谁知道这样的API /库?

java gwt wiki

5
推荐指数
1
解决办法
2279
查看次数

Tomcat更新了context.xml但不应该

Tomcat文档(http://tomcat.apache.org/tomcat-6.0-doc/config/context.html)

仅当$ CATALINA_BASE/conf/[enginename]/[hostname] /中的应用程序不存在上下文文件时,才在应用程序文件内的/META-INF/context.xml中的单个文件中.如果Web应用程序打包为WAR,则/META-INF/context.xml将复制到$ CATALINA_BASE/conf/[enginename]/[hostname] /并重命名以匹配应用程序的上下文路径.一旦此文件存在,如果在主机的appBase中放置了带有较新的/META-INF/context.xml的新WAR,则不会替换它.

粗体文字很清楚.但我通知不是真的.(我需要这个行为)

以下是步骤:

  1. 带有context.xml的aaa.war包含在META-INF中
  2. 复制到webapps.tomcat部署.文件conf\Catalina\localhost\aaa.xml确定
  3. 通过更改META-INF/context.xml来更改aaa.war
  4. 复制到webapps
  5. 文件conf\Catalina\localhost\aaa.xml已更改!!!

怎么了?它是一个错误还是一个隐藏的功能?

背景 - 我想解决的问题:

配置独立构建和安装.我厂运送战争档案.客户端使用自己的设置来配置他的Tomcat.当我发布新版本时,我只是在没有配置的情况下交付战争,在部署时它将使用客户端特定的配置.

通过文档,最好的地方是context.xml但是如果每次都覆盖它根本就没用.(如果必须创建新的可交付成果,为什么我会使用JNDI和这样的东西?在构建时改变一些东西并不是一个很大的配置优势.)

环境:windows,tomcat 6.0.33

java tomcat jndi context.xml

5
推荐指数
1
解决办法
1962
查看次数