我正在尝试将Rack :: Cors与我的Rails 4应用程序一起使用,以便我可以执行基于JSON的API.
CORS在我的Gemfile中是这样的:
gem 'rack-cors', :require => 'rack/cors'
Run Code Online (Sandbox Code Playgroud)
我正在我的application.rb文件中进行配置,如下所示:
config.middleware.insert_after Rails::Rack::Logger, Rack::Cors, :debug => true, :logger => Rails.logger do
allow do
origins '*'
resource '/messages*', :headers => :any, :methods => [:post, :options]
end
end
Run Code Online (Sandbox Code Playgroud)
我插入后Rails::Rack::Logger试图获取调试信息.
我正在使用CURL来测试它,这是我一直在运行的:
curl --verbose --request OPTIONS http://jasonbutzinfo.herokuapp.com/messages.json --header 'Origin: http://www.jasonbutz.info' --header 'Access-Control-Request-Headers: Origin, Accept, Content-Type' --header 'Access-Control-Request-Method: POST'
Run Code Online (Sandbox Code Playgroud)
当我在本地计算机上运行rails应用程序时,它可以正常运行.当我点击Heroku应用程序时,这就是我得到的:
> OPTIONS /messages.json HTTP/1.1
> User-Agent: curl/7.30.0
> Host: jasonbutzinfo.herokuapp.com
> Accept: */*
> Origin: http://www.jasonbutz.info
> Access-Control-Request-Headers: Origin, Accept, Content-Type
> Access-Control-Request-Method: …Run Code Online (Sandbox Code Playgroud) 我假设这是我的代码中的错误或者是backbone.js的无证件(据我所知).当我创建我的集合和我的视图时,该集合中已经有一个我没有创建的模型,或者我认为由于未定义的id我没有创建.以下是我的代码.
// ---------------------------------------------------------- Work Order
window.WO = Backbone.Model.extend({
default: {
wonum: null,
part: null,
desc: null,
comment: null,
order: null,
section: null
},
url: "/rest/wo/"
});
window.WOView = Backbone.View.extend({
tagName: "tr",
className: "wo",
events: {
"keypress .woComment" : "updateOnEnter"
},
initialize: function(options)
{
_.bindAll(this, 'render', 'close', 'updateOnEnter');
this.render = _.bind(this.render, this);
this.model.bind('change', this.render);
},
render: function()
{
$(this.el).html(this.woTemplate(this.model.toJSON()));
this.input = this.$('.woComment');
this.input.bind('blur', this.close);
return this;
},
woTemplate: _.template($('#woTemplate').html()),
close: function()
{
this.model.set({comment: this.input.val()});
this.model.save({},{contentType: 'application/jason'});
},
updateOnEnter: function(e) {
if …Run Code Online (Sandbox Code Playgroud) 我有一个我一直在研究的backbone.js项目,我设置它以便我可以拖放行(这是backbone.js模型)并在jQuery UI 更新事件的帮助下我能够使我的模特重新计算他们的订单,一切都很好.我想知道是否有新人更清洁地实现这一目标.我在下面提供了一些代码.
$( ".section" ).sortable({items: 'tr', update: function()
{
console.log("Event Fire!");
secv.mySort();
}});
Run Code Online (Sandbox Code Playgroud)
secv是我的视图,用于保存表格的模型.mySort函数通过并计算元素的顺序并进行必要的更新.
我有一个使用jQuery,jQuery UI和Backbone.js的应用程序.最近开发了一个错误,其中表中的一行被删除(jQUery Sortable)时,另一行有时会移动一行,好像有一个额外的单元格,但是在检查时没有.我刚才注意到这只发生在Chrome,Chromium和ChromeFrame中.
以下是问题区域的屏幕截图:http://img208.imageshack.us/img208/6870/screenshotkz.png
以下是Chrome检测界面中HTML的屏幕截图:http://img16.imageshack.us/img16/6985/screenshot1wdo.png 我还复制了以下HTML:
<tr id="17052151" class="wo">
<td>17052151</td>
<td>XXXXXXXXXXX</td>
<td>XXXXXXXXXXXXX</td>
<td>Parts Here</td>
<td>RR</td>
<td>10/28/11</td>
<td>10/28/11</td>
<td>10</td>
<td><input type="text" class="woComment" value=""></td>
<td class="removeWO">X</td>
</tr>
<tr id="10097756" class="wo">
<td>10097756</td>
<td>XXXXXXXXXXXX</td>
<td>XXXXX</td>
<td>Parts Here</td>
<td>NIS</td>
<td>10/04/11</td>
<td>10/28/11</td>
<td>10</td>
<td><input type="text" class="woComment" value=""></td>
<td class="removeWO">X</td>
</tr>
<tr id="10095965" class="wo">
<td>10095965</td>
<td>XXXXXXXX</td>
<td>XXXXXXXXXXXXXXXX</td>
<td>Parts Here</td>
<td>NIS</td>
<td>09/16/11</td>
<td>10/10/11</td>
<td></td>
<td><input type="text" class="woComment" value=""></td>
<td class="removeWO">X</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
由于在Firefox或IE8中没有出现此问题,我认为这可能是Chrome错误,但我想看看之前是否还有其他人遇到此问题.
编辑
我发现调用.render()我的视图元素的函数发生问题修复了这个问题.
我有一个下面格式的字符串.(我添加了标记以使新线正确显示)
-- START BELOW THIS LINE --
2013-08-28 00:00:00 - Tom Smith (Work notes)
Blah blah
b;lah blah
2013-08-27 00:00:00 - Tom Smith (Work notes)
ZXcZXCZXCZX
ZXcZXCZX
ZXCZXcZXc
ZXCZXC
-- END ABOVE THIS LINE --
Run Code Online (Sandbox Code Playgroud)
我试图得到一个正则表达式,允许我从字符串的两个独立部分中提取信息.
以下表达式成功匹配第一部分:
^(\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}) - (.*) \\(Work notes\\)\n([\\w\\W]*)(?=\n\n\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} - .* \\(Work notes\\)\n)
Run Code Online (Sandbox Code Playgroud)
我试图找出一种方法,我可以修改它以获得字符串的第二部分.我已经尝试了类似下面的内容,但它最终将匹配一直延伸到字符串的末尾.这就像它优先考虑OR之后的表达式.
^(\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}) - (.*) \\(Work notes\\)\n([\\w\\W]*)(?:(?=\n\n\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} - .* \\(Work notes\\)\n)|\n\\Z)
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激
- 编辑 -
这是我创建的测试程序的副本,试图使其正确.在这种情况下,我还添加了第3条消息,上面的RegEx中断了.
using System;
using System.Text.RegularExpressions;
namespace RegExTest
{
class MainClass
{
public static void Main (string[] …Run Code Online (Sandbox Code Playgroud) 我在页面上有几个可排序的表格.他们中的大多数是连接的,但只有一个只能被拖出,但不能被拖出.我似乎无法将项目拖到其中一个空的表中.
这是一个jsFiddle:http://jsfiddle.net/jasonbutz/ZLzU3/2/
编辑:
此外,隐藏<tr>似乎没有任何帮助.