当我遇到一些真实性令牌问题时,我正在研究一个新的Rails 4应用程序(在Ruby 2.0.0-p0上).
在编写响应json的控制器时(使用respond_to类方法),当我尝试使用创建记录时,我create开始ActionController::InvalidAuthenticityToken尝试异常curl.
我确定我设置-H "Content-Type: application/json"并设置数据,-d "<my data here>"但仍然没有运气.
我尝试使用Rails 3.2(在Ruby 1.9.3上)编写相同的控制器,并且我没有任何真实性令牌问题.我四处搜索,看到Rails 4中的真实性令牌发生了一些变化.据我所知,它们不再自动插入表格了?我想这会以某种方式影响非HTML内容类型.
有没有办法解决这个问题,而无需请求HTML表单,抢夺真实性令牌,然后使用该令牌发出另一个请求?还是我完全错过了一些非常明显的东西?
编辑:我刚尝试使用脚手架在新的Rails 4应用程序中创建一个新记录而不改变任何东西,我遇到了同样的问题所以我想这不是我做的事情.
我知道<section>标签的样式是不正确的,但是<header>和<footer>标签有关.如果使用这些标记提供了更多的语义标记,那么应该使用它们,但是,如果它们不能被设置样式,那么<div>仍然需要在标记内部插入以包装内容并对其进行样式化.
我知道<header>可以设计风格,但我不确定这样做是否正确.
所以问题是:html5标签应该设置样式还是应该<div>放在里面来处理样式?
是否有可能在Java的CardLayout中获得顶级卡?我已经尝试循环遍历每个组件以检查isVisible()的可见性,但似乎它们都是"可见的".
编辑:通过"顶级卡"我的意思是当前处于"顶部"的那个,正在显示,而不是第一张或最后一张牌.另外,我不知道它是否有帮助,但我正在寻找一个JPanel(或其子类)
编辑:代码段
for (Component component : getComponents()) {
if (component instanceof JPanel && component.isVisible()) {
currentPanel = (JPanel) component;
System.out.println(currentPanel.getClass().getName());
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码总是打印出每个组件类的名称,无论它们是否是可见卡.
编辑:我将此作为学校作业的一部分.我不是想在这里获得免费赠品,作业并不围绕这种布局.它似乎是在面板之间切换最方便的布局.我的老师已经指定项目中没有第三方代码.我之前看过camickr链接的实现,但我不能使用它.我可以松散地实现它的类似功能,并可能在文档中提供它,但我不能简单地下载和使用它.
编辑:我试图获得顶级卡的原因是因为我有一个带有"添加"按钮的工具栏.我没有为我的两个可能的东西添加一个按钮,而是希望通过查看当前正在查看的面板来了解要添加的内容.如果还有其他更合适的方法,请告诉我.
编辑:谢谢大家帮忙.我弄清楚问题是什么.我想这是我的错,因为我没有提供足够的细节.我的两张牌是JScrollPanes,我还需要查看其中的内容,看看其中一个面板是否是我看到的那个.我没有检查isVisible()滚动窗格本身,我一直在看它总是可见的竞争,滚动窗格是我需要验证的可见性.
public JPanel getCurrentPanel() {
JPanel currentPanel = null;
for (Component component : getComponents()) {
if (component.isVisible()) {
if (component instanceof JPanel)
currentPanel = (JPanel) component;
else if (component instanceof JScrollPane)
currentPanel = (JPanel) ((JScrollPane) component).getViewport().getComponent(0);
}
}
return currentPanel;
}
Run Code Online (Sandbox Code Playgroud) 例如,当我想用AJAX更新我的页面的一部分时,我通常会对getPost.php进行适当的调用,这将返回要插入到我的页面中的标记.有没有办法阻止用户直接访问此页面(例如:带有适当的GET或POST参数的example.com/getPost.php)并且只获取页面的一部分,因为这应该与AJAX一起使用作为整体的一部分, 不是一个人?
我不认为可以在文件上设置权限,因为它是客户端请求页面,但有一种方法可以通过传递一个额外的参数来做到这一点,该参数可以作为排序的校验位.
如何获取导致404错误的请求页面的URL?
例如,我输入http://example.com/path/does/not/exist/index.jsp 我已经有了一个自定义404页面,但我如何检索上面提到的URL以便我可以显示它的消息类似于"网址http://example.com/path/does/not/exist/index.jsp不存在"?
我想要一个名为Macro1的宏,例如每天早上9点运行.它可以通过Access 2007中的VB代码编辑器自行运行,但我希望它能够在没有打开访问权限的情况下自动执行.
请注意,我不希望必须进行任何人为干预,它需要能够自动运行而无需打开Access来触发autoexec或onload或类似的东西.
这是可能吗?
我运行一个非常简单的单线程java程序.当我在Ubuntu下使用命令检查线程时
ps -eLf
Run Code Online (Sandbox Code Playgroud)
它显示OS级别有14个线程.我希望程序有一个线程时只有一个线程,如果程序有x个线程,则只有x个线程.我的期望是错的吗?
我有这行代码.
class ButtonPanel extends JPanel implements ActionListener
{
public ButtonPanel()
{
yellowButton = new JButton("Yellow");
Run Code Online (Sandbox Code Playgroud)
它工作,我认为Java在创建像这样的jButton实例之前需要知道yellowButton的类型?
JButton yellowButton = new JButton("Yellow");
Run Code Online (Sandbox Code Playgroud)
谁能解释一下这是如何工作的?
我想知道在PHP编码时哪些更好或更接受.在Java中,我被告知,获取和设置变量的类方法应该以"get"和"set"作为前缀.但是,我想知道的是,我应该在常规PHP函数上使用这些前缀.
例如,要从会话变量中检索用户名,我将拥有
getUsername()
或
username()
有什么优点和最佳实践.我知道使用"get"更具记忆性,但它相当多余(特别是对于我不希望让其他人阅读的个人项目)但是为了良好的实践,我希望能够做到正确.
虽然我在这里,变量的正确命名约定是什么?下划线或驼色表壳?我环顾四周,看到两者兼而有之.Wordpress倾向于在其功能名称中使用下划线,但很多其他网站都说驼峰式是最好的.
据我了解,类应该优先于样式而不是元素样式.我试过的风格button,input[type=button]和input[type=submit],发现与input(button和submit)时,border从元素风格,将优先于border样式类.但是,我没有注意到这个行为button.
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<style>
input[type=button], button {
border: none;
}
.class {
border: 1px solid red;
}
</style>
</head>
<body>
<input type="button" class="class" value="With class" />
<input type="button" value="Without class" />
<button class="class">With class</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
以上呈现如下:

我注意到Safari,Firefox和Chrome中的行为相同.
难道我做错了什么?在这种情况下,我是否误解了特异性?这border只是特定的吗?
我这里有这个简单的方法:
private Node addItem(Node current, Node target) {
if (current.data.getId() < target.data.getId()) {
if (current.larger == null) {
current.larger = target;
Log.i("BinaryTree", "Added item: " + target.data.getId());
return target;
}
return addItem(current.larger, target);
} else {
if (current.smaller == null) {
current.smaller = target;
Log.i("BinaryTree", "Added item: " + target.data.getId());
return target;
}
return addItem(current.smaller, target);
}
}
Run Code Online (Sandbox Code Playgroud)
当我调试它时,代码到达'return target;'行,然后跳过它并转到最后一个return语句 - 'return addItem(current.smaller,target);'!我一生中从未见过像这样的WTF吗?!?!