2015-01-05 43 views
-1

中,因此我正在處理一個代碼片段,該片段基本上從表List中取出35個隨機ID。隨機ids,然後將這些隨機ID存儲到db

我想要做的就是找到隨機生成的id,並將它們存儲到名爲Status的數據庫中。

目的是爲了避免重複下一次我從列表中獲得新的35個隨機ID。所以我從來沒有兩次獲得相同的隨機ID。

這是我試過的,但沒有成功的工作。

@schedule = current_user.schedules.new 
if @schedule.save 
@user = User.find(params[:id]) 
Resque.enqueue(ScheduleTweets, @user.token) 
@schedule.update_attribute(:trial, true) 
flash[:notice] = "success" 
redirect_to :back 
else 
flash[:alert] = "Try again." 
redirect_to :back 
end 

和工人:

def self.perform(user_token) 
list = List.first(6) 
@status = list.statuses.create 
list.each do |list| 
    Status.create(list_id: "#{list}") 
    if list.avatar.present? 
    client.create_update(body: {text: "#{list.text}", profile_ids: profile_ids, media: { 'thumbnail' => 'http://png-1.findicons.com/files/icons/85/kids/128/thumbnail.png', 'photo' => 'http://png-1.findicons.com/files/icons/85/kids/128/thumbnail.png' } }) 
    end 
end 

但是Status.create(list_id: #list)不起作用。 有誰知道發生了什麼,以及如何讓list_ids成功保存到狀態?

它也有關: 列表中有許多狀態和狀態屬於列出

回答

1

下面的代碼行是錯誤的:

Status.create(list_id: "#{list}") # WRONG 

在你的情況list變量是List實例。並且您將其字符串版本傳遞給list_id,它需要一個整數。

這樣做:

Status.create(list_id: list.id) 

或者這樣:

list.statuses.create 

我認爲有以下也將工作:

Status.create(list: list)