我正在尝试使用rails和jQuery创建一个支持AJAX的网页.那我遇到的问题是,当我尝试使用jQuery的AJAX方法加载一个视图到一个div我得到我的应用程序布局视图返回.有没有办法只检索视图数据,如果它是一个AJAX请求,但加载我的应用程序布局,以及如果它不是一个AJAX请求?
这是我调用的控制器方法:
def new
@blog = Blog.new
respond_to do |format|
format.html # Goes to the new.html.erb view.
format.xml { render :xml => @blog }
end
end
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
我正在努力创建我的第一个rails插件.我仍然是ruby的新手,我想知道是否有可能获得继承类?
例如,我正在尝试创建一个插件,允许在不使用迁移时进行单元测试和功能测试.我要做的是初始化一个名为controller的类变量,将其初始化为正在测试的控制器类型.
如果我有一个基类ControllerTest:
class ControllerTest < Test::Unit::TestCase
attr_accessor :controller
def initialize
super
@controller = "call function that will find the inheriting classes name and create an instance of that controller type."
end
end
Run Code Online (Sandbox Code Playgroud)
所以我目前所坚持的是获取继承类的名称.这可能吗?如果没有,有没有人知道如何实现这个方法?
提前致谢.
我一直在谷歌上搜索一下,试图将传入的XML请求转换为活动的记录对象.我尝试过使用ActiveRecordObject.new.from_xml方法,但它似乎没有处理关系.
例如,假设我有以下xml:
<blog>
<title></title>
<blog-pages>
<blog-page>
<page-number></page-number>
<content></content>
</blog-page>
</blog-pages>
</blog>
Run Code Online (Sandbox Code Playgroud)
我有以下模型对象:
class Blog < ActiveRecord::Base
has_many :blog_pages
end
class BlogPage < ActiveRecord::Base
belongs_to :blog
end
Run Code Online (Sandbox Code Playgroud)
有没有办法将xml转换为具有关系的博客对象?或者我是否需要手动解析XML?
提前致谢.
我正在尝试使用JPA 2(EclipseLink)将UUID用于主键.我正在使用PostgreSQL作为数据库.我的实体声明如下:我有一个Employee表,其PK设置为UUID.我有一个JPA实体映射到employee表,如下所示:
@Entity
public class Employee {
@Id
private String id;
...
...
}
Run Code Online (Sandbox Code Playgroud)
当我调用EntityManager.find(Employee.class,id)时
我从postgres得到一个例外:
内部异常:org.postgresql.util.PSQLException:错误:运算符不存在:uuid =字符变化
提示:没有运算符匹配给定的名称和参数类型.您可能需要添加显式类型转换.
我也尝试将Employee类中的id更改为java.util.UUID,但后来我得到以下(非常类似的错误):
内部异常:org.postgresql.util.PSQLException:错误:运算符不存在:uuid = bytea提示:没有运算符匹配给定的名称和参数类型.您可能需要添加显式类型转换.
我真的不确定如何解决这个问题......任何人都有任何想法?
谢谢!
我有几个关于在 JavaSE 环境中使用实体管理器的问题。
我正在使用存储库模式对数据库执行我的 CRUD 操作。将有一个基本存储库类,如下所示:
public class Repository<T> implements IRepository<T> {
private EntityManager em;
private String persistenceUnitName;
public Repository(String persistenceUnitName) {
this.persistenceUnitName = persistenceUnitName;
}
@Override
public T find(Class<T> type, Object id) {
return em.find(type, id);
}
private EntityManager getEntityManager() {
if (this.em == null) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory(persistenceUnitName);
em = emf.createEntityManager();
}
return em;
}
...
...
}
Run Code Online (Sandbox Code Playgroud)
然后,我将拥有像 EmployeeRepository 这样将继承 Repository 的类。这些存储库类将在我的服务层中创建。
这是初始化实体管理器的好方法吗?我开始认为它不是 - 似乎每个持久性单元应该只有一个实体管理器?在这种情况下,您创建的每个存储库都有一个实体管理器……您将如何确保每个持久性单元只有一个实体管理器?另外,我注意到实体管理器和实体管理器工厂方法有一个关闭方法 - 什么时候应该调用它们?在服务器终止事件上?
如果您知道有关在 JavaSE 中使用 JPA 的任何好的资源,我将不胜感激。
谢谢!
如何保护HTTP请求的部分,比如说他们的会话ID?我知道您可以使用HTTPS,但是您的服务器必须解密所有请求.仅加密请求的所需部分不是理想的吗?
是否有任何框架或资源允许您或告知您如何执行此操作?
在某些情况下,您需要担心静态方法是否是线程安全的?
例如,如果我有静态实用程序函数,它不接触任何静态类级别变量,那么该方法是否已经是线程安全的?如果我有一个触摸静态类变量的静态方法,该方法是否可能不是线程安全的?
提前致谢.
我正在尝试将Spring 3.0.5与Jersey 1.4集成.我似乎已经完成了所有工作,但每当我尝试返回指向JSP的Viewable时,我都会收到404错误.当我没有使用弹簧时,我可以使用这个过滤器:
<filter>
<filter-name>Jersey Filter</filter-name>
<filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class>
<init-param>
<param-name>com.sun.jersey.config.feature.Redirect</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>cheetah.frontend.controllers</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.feature.FilterForwardOn404</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
<param-value>/(images|css|jsp)/.*</param-value>
</init-param>
</filter>
Run Code Online (Sandbox Code Playgroud)
我可以将Viewable返回到存储在相应文件夹中的任何JSP,image,css.但是,现在我必须使用SpringServlet来获得spring集成,我对如何访问资源感到茫然,因为我无法使用上面的过滤器.我试过使用这个servlet映射没有运气:
<servlet>
<servlet-name>jerseyspring</servlet-name>
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
<param-value>/(images|css|jsp)/.*</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>jerseyspring</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
有谁知道实现这个的正确配置?
谢谢你的帮助.
我正在创建一个AJAX繁重的Web应用程序,我很好奇人们在将样式和脚本标记添加到HTML文档正文时的想法.
我一直在使用jquery.load()方法动态插入内容.可以加载到body元素中的示例部分HTML页面是:
<script type="text/javascript">
$(function() {
// All required java script for the control goes here...
});
</script>
<style type="text/css">
/* All required styles for the inserted HTML go here */
</style>
<div id="some-control">
<!-- Required HTML markup is here. -->
</div>
Run Code Online (Sandbox Code Playgroud)
由于这个HTML被加载到DIV中,我们最终得到的脚本和样式标签不在头部,而是在HTML文档的主体中.我不确定这是否是有效的HTML?这是开发支持AJAX的Web应用程序的常用方法吗?我应该注意哪些缺点?
我浏览过文档,但找不到任何提及此内容的内容.我正在使用Angular的$ http服务,并希望在每个ajax事件之前以及每个ajax事件之后运行代码(在等待服务器响应时显示加载消息).
我有jQuery包括并尝试做:
$(document).ready(function() {
$('body').ajaxSend(function(event, jqXHR) {
console.log('in jquery send');
}) ;
});
Run Code Online (Sandbox Code Playgroud)
但无法将消息记录到控制台.任何帮助表示赞赏.
java ×4
jpa ×2
jquery ×2
activerecord ×1
ajax ×1
angularjs ×1
css ×1
eclipselink ×1
hibernate ×1
html ×1
http ×1
https ×1
inheritance ×1
java-ee ×1
javascript ×1
jax-rs ×1
jersey ×1
jpa-2.0 ×1
networking ×1
postgresql ×1
ruby ×1
security ×1
spring ×1
xml ×1