我有一个Ruby on Rails项目,包括模型User和模型Content等.我希望用户能够"喜欢"一个内容,并且我已经使用acts_as_votable gem 完成了这项工作.
目前,喜欢系统正在运行,但每次按下喜欢按钮(link_to)时我都会刷新页面.
我想使用Ajax来做这件事,以便更新按钮和喜欢的计数器,而无需刷新页面.
在我Content -> Show看来,这就是我所拥有的:
<% if user_signed_in? %>
<% if current_user.liked? @content %>
<%= link_to "Dislike", dislike_content_path(@content), class: 'vote', method: :put %>
<% else %>
<%= link_to "Like", like_content_path(@content), class: 'vote', method: :put %>
<% end %>
<span> · </span>
<% end %>
<%= @content.get_likes.size %> users like this
<br>
Run Code Online (Sandbox Code Playgroud)
该Content控制器这样做是为了喜欢/不喜欢:
def like
@content = Content.find(params[:id])
@content.liked_by current_user
redirect_to @content
end
def dislike
@content = …Run Code Online (Sandbox Code Playgroud) 我有一个C++程序,我想解析一个巨大的文件,寻找我已经实现的一些正则表达式.程序在顺序执行时工作正常但后来我想用MPI运行它.
我通过在主函数中区分主服务器(协调执行的主服务器)和工作服务器(并行解析文件的服务器)来开始适应MPI .像这样的东西:
MPI::Init(argc, argv);
...
if(rank == 0) {
...
// Master sends initial and ending byte to every worker
for(int i = 1; i < total_workers; i++) {
array[0] = (i-1) * first_worker_file_part;
array[1] = i * first_worker_file_part;
MPI::COMM_WORLD.Send(array, 2, MPI::INT, i, 1);
}
}
if(rank != 0)
readDocument();
...
MPI::Finalize();
Run Code Online (Sandbox Code Playgroud)
所述主将发送到每个工人的阵列与包含在那里它将开始位置的文件的读取的字节位置2 0以及它需要停止在读取位置上的字节1.
该readDocument()函数看起来像这样由现在(不解析,只是每个工人阅读他的文件的一部分):
void readDocument()
{ …Run Code Online (Sandbox Code Playgroud) 我正在尝试用Java创建一个解析器,它可以帮助我从文本文件中获取一些细节.
文件中的数据如下所示,但有更多条目:
.
http://www.someurl1.com/
PERSONAL ADDRESS: Mozart, W.A.; Some address 1, Austria; email: mymail1@mail.com
.
http://www.someurl2.com/
PERSONAL ADDRESS: Beethoven, L.V.; Some address 2, Germany; email: mymail2@mail.com
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,数据总是尊重模式,我想要获得的只是每个条目的名称和电子邮件.一个可能的好输出是这样的:
Mozart, W.A. ; mymail1@mail.com
Beethoven, L.V. ; mymail2@mail.com
Run Code Online (Sandbox Code Playgroud)
每个条目都以a开头,.后跟第一行中的空格.然后在点上方的下一行,有URL.在以下行中,有更多数据:名称,地址和电子邮件,所有数据都以a分隔;.
这并不难,但我有一些麻烦开始.我创建了一个Main类,在其中我将文本文件读取到String.但是我真的不知道在Java中解析这样的东西的最佳方法是什么,如果我应该尝试使用正则表达式或只是寻找;.