小编Kev*_*ker的帖子

将记录添加到has_and_belongs_to_many关系中

我有两个模型,用户和促销活动.这个想法是促销可以有很多用户,用户可以有很多促销.

class User < ActiveRecord::Base
  has_and_belongs_to_many :promotions
end

class Promotion < ActiveRecord::Base
  has_and_belongs_to_many :users
end
Run Code Online (Sandbox Code Playgroud)

我还有一个promotion_users表/模型,没有自己的id.它引用了user_id和promotions_id

class PromotionsUsers < ActiveRecord::Base
end
Run Code Online (Sandbox Code Playgroud)

那么,如何将用户添加到促销中?我尝试过这样的事情:

user = User.find(params[:id])
promotion = Promotion.find(params[:promo_id])
promo = user.promotions.new(promo)
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误:

NoMethodError: undefined method `stringify_keys!' for #<Promotion:0x10514d420>
Run Code Online (Sandbox Code Playgroud)

如果我尝试这一行:promo = user.promotions.new(promo.id)

我收到此错误:

TypeError: can't dup Fixnum
Run Code Online (Sandbox Code Playgroud)

我确信我的问题有一个非常简单的解决方案,而我只是没有以正确的方式寻找解决方案.

ruby-on-rails relationship has-and-belongs-to-many

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

使用tumblr feed中的jQuery获取特定数量的JSON项

我正在尝试使用我的tumblr feed中的X条目填充页面,我想知道如何只从它返回的JSON对象中提取该X数字.

这是我的代码,从另一个Stack Overflow帖子中提取并修改:

//Tumblr retrieval
$.getJSON("http://tumblr-address/api/read/json?callback=?", 
  function(data) {
    $.each(data.posts, function(i,posts){
      var title = this["regular-title"]; 
      var type = this.type; 
      var date = this.date; 
      var url = this["url-with-slug"];

      $('#sideRail ol').prepend('<li><p><a href=' +url +'>' + title + '</a></p><p>' + date + '</p></li>'); 
    });
 });
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用带有计数器的while循环,但它只是重复所有X次,然后再转到列表中的下一个项目.

谢谢你的帮助.

jquery json tumblr

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

在Rails中更新大型记录集

我需要更新大量记录中的单个字段.通常,我只是从控制台运行快速SQL更新语句并完成它,但这是一个最终用户需要能够在此应用程序中运行的实用程序.

所以,这是我的代码:

users = User.find(:all, :select => 'id, flag')
users.each do |u|
  u.flag = false
  u.save
end
Run Code Online (Sandbox Code Playgroud)

我担心随着用户数量的增加,这只需要一段时间(目前大约在35k左右,每周增加2-5k).有更快的方法吗?

谢谢!

activerecord ruby-on-rails

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