小编Ang*_*kis的帖子

使用jQuery从HTML中删除数据属性

似乎无法让这个工作......

我有一个隐藏某些链接的页面.当加载DOM时,我正在使用jQuery来切换其中的一些元素.这是通过使用如下数据属性来驱动的:

<div class="d_btn" data-usr='48'>
  <div class="hidden_button">
Run Code Online (Sandbox Code Playgroud)

然后,我有代码:

  $.each($(".d_btn"), function() {
     var btn = $(this).data('usr');
   if ( btn == '48' ){      
     $(this).children('.hidden_button').toggle();
   }
Run Code Online (Sandbox Code Playgroud)

以上都按计划进行.问题是,一旦if语句被评估,我试图从类.d_btn中删除data-usr.我已经尝试了以下内容并且没有任何作用(即,在加载页面之后,源仍然显示data-usr属性:

$(this).removeAttr("data-usr");

$(this).removeData("usr");
Run Code Online (Sandbox Code Playgroud)

我已经在这个问题上工作了几个小时而且......没什么!非常感谢帮助!

UPDATE

我已经尝试了将数据属性设置为空字符串的好建议,但我仍然没有得到所需的结果.

为了进一步解释,我试图删除属性的原因是当ajax响应向页面添加另一个项目时,之前添加的项目已经显示或隐藏了按钮.在AJAX响应时,我在加载DOM后调用相同的函数.

目前,当通过AJAX添加某些内容时,它会切换所有按钮(显示隐藏的按钮,反之亦然.)呃......

我也完全愿意尝试替代我的方法.谢谢!

UPDATE

嗯,灯泡刚刚闪过,只需使用.show()而不是.toggle()就可以做我想做的事情.

无论如何,我仍然想找到这个问题的答案,因为无论什么时候添加东西,页面都可能会检查数百个项目 - 这看起来非常低效(即使是电脑,哈哈哈.)

javascript jquery

10
推荐指数
2
解决办法
3万
查看次数

Rails 3,自定义原始SQL插入语句

我有一个评估模型.评价有很多分数.每当创建新评估时,都会为需要评估的每个用户创建评分记录(请参阅下面我正在使用的当前方法.)因此,例如,可以一次创建40个评分记录.然后,评估所有者使用用户的分数更新每个分数记录.

我正在寻找使用原始SQL,因为每个插入都是它自己的事务并且速度很慢.

我想使用原始SQL将以下内容转换为批量插入语句:

def build_evaluation_score_items
  self.job.active_employees.each do |employee|
    employee_score = self.scores.build
    employee_score.user_id = employee.id
    employee_score.save
  end
end
Run Code Online (Sandbox Code Playgroud)

有关如何做到这一点的任何想法?我试过改编一下来自Chris Heald的Coffee Powered网站的代码示例,但是没有骰子.

感谢愿意提供帮助的人!

编辑1

我忽略了提到当前方法被包装在一个事务中.

所以,基本上,我正在尝试将其添加到代码块中,因此所有内容都插入到一个语句中(**此代码snippit来自Chris Heald的Coffee Powered网站,讨论了该主题.我会在那里问问题,但帖子是> 3岁.):

inserts = []
TIMES.times do
  inserts.push "(3.0, '2009-01-23 20:21:13', 2, 1)"
end
sql = "INSERT INTO user_node_scores (`score`, `updated_at`, `node_id`, `user_id`)VALUES #{inserts.join(", ")}"
Run Code Online (Sandbox Code Playgroud)

我很乐意展示我的一些尝试不起作用的代码......

再次感谢!

好吧,我拼凑了一些类似于上面代码的东西,但我得到一个SQL语句无效错误('evaluation_id'部分.有什么想法?

def build_evaluation_score_items
  inserts = []
  self.job.active_employees.each do |employee|
    inserts.push "(#{self.id}, #{employee.id}, #{Time.now}, #{Time.now})"
  end
  sql = "INSERT INTO scores ('evaluation_id', `user_id`, 'created_at', `updated_at`)VALUES #{inserts.join(", ")}"
  ActiveRecord::Base.connection.execute(sql) 
end …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3

10
推荐指数
3
解决办法
2万
查看次数

Rails url子域中的助手 - 删除子域

我网站上的用户可以拥有子域名.例如,他们的页面网址是

name.example.com 
Run Code Online (Sandbox Code Playgroud)

登录用户可以在用户的​​显示页面上查看更多用户信息,我有一个使用以下代码生成的链接:

user_url(@user, :subdomain => false)
Run Code Online (Sandbox Code Playgroud)

此链接应生成以下URL(其中@user的ID为19)

example.com/users/19
Run Code Online (Sandbox Code Playgroud)

当我将鼠标悬停在链接上时,一切看起来都很好(例如,在浏览器窗口的底部,Safari和FF都正确显示链接.)

问题是当我点击链接时,网站引发了404,网址是:

example.com/users/19
Run Code Online (Sandbox Code Playgroud)

任何人都知道com和用户之间的斜线发生了什么,我该如何取回?

BTW,Rails 3.2和一切都在开发中.这个问题只出现在生产中.

ruby-on-rails ruby-on-rails-3

7
推荐指数
1
解决办法
6947
查看次数

用于两个布尔数据库属性的Rails单选按钮

我有一个Attendance模型有两个Boolean数据库属性(:late:absent),他们都有:default => false.

我正在尝试制作一个只有2个单选按钮的表单.一个是迟到的,一个是缺席的.当然,用户只能选择两者中的一个.

我已经尝试了很多变化,但无法获得任何工作.

任何人都可以帮我一把吗?我知道我可以很容易地选择收藏,但单选按钮将有助于用户体验.另外,由于一系列原因,我需要继续使用db模式...

太感谢了!!!

ruby-on-rails ruby-on-rails-3

1
推荐指数
1
解决办法
1178
查看次数