2013-01-24 37 views

回答

1

此代碼實際上並不創建作者。作者本身需要已經被創建。此代碼將採用作者的令牌,並將其轉換爲ID。所以這本書會有很多作者。

您可以在下面的圖片中看到,作者已經存在,因爲這本書正在創建。我們從書中

choosing image

圖片來源選擇:http://railscasts.com/episodes/258-token-fields-revised?view=asciicast

UPDATE

在情節的結尾,如果沒有找到一個系統將創建新的作者。這是由該代碼創建:https://github.com/railscasts/258-token-fields-revised/blob/master/bookstore-tokeninput-after/app/models/author.rb

class Author < ActiveRecord::Base 
    ##... 
    def self.ids_from_tokens(tokens) 
     tokens.gsub!(/<<<(.+?)>>>/) { create!(name: $1).id } 
     tokens.split(',') 
    end 
    end 

因此,如果令牌來與< < >>(此方法從Author.tokens方法發送),它會創建筆者再拿到ID和把它返還。

+0

在頁面的最底部,Ryan Bates展示瞭如何使用標記字段添加新作者 - http://asciicasts.com/system/photos/1161/original/E258I08.png – dinnouti

+0

@dinnouti更新了相關碼。 –

+0

我看到斷開連接,在asciicast中它沒有顯示** def self.ids_from_tokens(tokens)**。感謝您的幫助。 – dinnouti