我制作了一个模型,当我从向下切换菜单中单击删除时调用该模型。然后它给出了一个数据列表,我可以通过单击它们旁边的按钮来删除这些数据。但出于某种原因,我无法弄清楚页面何时重新加载,没有任何内容被删除。我在 javascript 中成功后添加了一个警报“成功”。调用此警报但不会删除数据。 Bootstrap 和 jQuery 链接位于索引页面中,它们都可以正常工作。这个问题让人目瞪口呆,如果有人能阐明它,我将不胜感激。
这是 html:
<div class="modal fade" id="delete_comment" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="form-horizontal" role="form">
<div class="modal-header">
<h4>Delete comments</h4>
</div>
<div class="modal-body">
<?php $comment_array = comments::get_comments($username); ?>
<?php if(isset($comment_array) && is_array($comment_array)): ?>
<?php
foreach ($comment_array as $key => $comment):
foreach($comment as $key2 => $comment2):
$max = count($comment_array);
$i=1;
while($i<=$max):
?>
<?php
$comment_id = $comment2->id;
$comment_name = $comment2->comment_name;
$comment_type = $comment2->comment_type;
?>
<form class="comment_delete_area_wrapper" action="" method="post">
<div class="comment_delete_wrapper">
<ul>
<li class="comment_delete_comments">
<?php echo $comment_type ?> : <?php echo $comment_name; ?>
</li>
</ul>
<div class="comment_delete_button_wrapper">
<input type="submit" id="<?php echo $comment_id; ?>"
class="btn btn-danger comment_delete_button" value="Delete"/>
</div>
<br>
<hr>
<input type="hidden" value="<?php echo $comment_id; ?>"
id="comment_delete_id" name="comment_delete_name"/>
</div>
</form>
<?php $i++; ?>
<?php endwhile;?>
<?php endforeach; ?>
<?php endforeach;?>
<?php endif; ?>
</div>
<div class="modal-footer">
<a class="btn btn-default" data-dismiss="modal">Close</a>
</div>
</div>
</div>
</div>
</div>
这里是这些类的 PHP 代码。评论都是从完美的数据库中提取的,看起来很完美。问题是删除它们。
<?php
class Comments{
public static function delete($cl_id)
{
$db = new PDO('mysql:host=localhost;dbname=comment;charset=utf8', 'root', '');
$stmt = $db->prepare("DELETE FROM `comments` WHERE id = :cl_id");
$stmt->bindParam(':cl_id', $cl_id);
if ($stmt->execute()) {
return true;
} else {
return null;
}
}
}
和 javascript:
$(document).ready(function(){
add_delete_handlers();
});
function add_delete_handlers(){
$('.comment_delete_button').each(function(){
var btn = this;
$(btn).click(function(){
comment_delete(btn.id);
});
});
}
function comment_delete(_comment_id){
$.post('comment_area_ajax/comment_delete.php', {
task: 'comment_delete',
comment_id: _comment_id
}
).success(function(data){
alert('Success');
$('#_' + _comment_id).detach();
});
}
最后是 AJAX 调用的代码:
<?php
if(isset($_POST['task']) && $_POST['task'] =='comment_delete') {
require_once '../comment_area_sql/models/comment_delete_model.php';
require_once '../comment_area_sql/models/comments.php';
if(class_exists('Comments')){
if(Comments::delete($_POST['comment_id'])){
echo 'true';
}else{
echo 'false';
}
?>
最佳答案
尝试:
$(document).ready(function() {
add_delete_handlers();
});
function add_delete_handlers() {
$('.comment_delete_button').click(function() {
comment_delete($('this').attr('id'));
});
}
function comment_delete(_comment_id) {
$.post('comment_area_ajax/comment_delete.php', {
task: 'comment_delete',
comment_id: _comment_id
}, function(data) {
alert('Success');
$('#_' + _comment_id).detach();
});
}
为您的 ajax 文件试试这个:
<?php
if(isset($_POST['task']) && $_POST['task'] =='comment_delete') {
require_once '../comment_area_sql/models/comment_delete_model.php';
require_once '../comment_area_sql/models/comments.php';
if(class_exists('Comments')){
if(Comments::delete($_POST['comment_id'])){//note the change
$message = 'comment deleted';
}else{
$message = 'we have a error';
}
return json_encode(array('message'=>$message));
}
}
?>
关于javascript - 当我单击删除按钮时查询未运行,即使 .success 说它有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35217288/
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
我正在用Ruby编写一个简单的程序来检查域列表是否被占用。基本上它循环遍历列表,并使用以下函数进行检查。require'rubygems'require'whois'defcheck_domain(domain)c=Whois::Client.newc.query("google.com").available?end程序不断出错(即使我在google.com中进行硬编码),并打印以下消息。鉴于该程序非常简单,我已经没有什么想法了-有什么建议吗?/Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.
在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/
我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为
查看Ruby的CSV库的文档,我非常确定这是可能且简单的。我只需要使用Ruby删除CSV文件的前三列,但我没有成功运行它。 最佳答案 csv_table=CSV.read(file_path_in,:headers=>true)csv_table.delete("header_name")csv_table.to_csv#=>ThenewCSVinstringformat检查CSV::Table文档:http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV/Table.html
exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby中使用两个参数异步运行exe吗?我已经尝试过ruby命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何rubygems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的
Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/
这是一道面试题,我没有答对,但还是很好奇怎么解。你有N个人的大家庭,分别是1,2,3,...,N岁。你想给你的大家庭拍张照片。所有的家庭成员都排成一排。“我是家里的friend,建议家庭成员安排如下:”1岁的家庭成员坐在这一排的最左边。每两个坐在一起的家庭成员的年龄相差不得超过2岁。输入:整数N,1≤N≤55。输出:摄影师可以拍摄的照片数量。示例->输入:4,输出:4符合条件的数组:[1,2,3,4][1,2,4,3][1,3,2,4][1,3,4,2]另一个例子:输入:5输出:6符合条件的数组:[1,2,3,4,5][1,2,3,5,4][1,2,4,3,5][1,2,4,5,3][