【发布时间】:2014-04-29 21:35:27
【问题描述】:
我已经迁移 tags_words
class CreateTagsWords < ActiveRecord::Migration
def change
create_table :tags_words, id: false do |t|
t.references :tag
t.references :word
end
add_index :tags_words, :tag_id
add_index :tags_words, :word_id
end
end
模型词和标签:
class Word < ActiveRecord::Base
attr_accessible :namelanguage1, :namelanguage2, :tags_attributes
has_and_belongs_to_many :tags
def self.search(search)
if search
find(:all, :conditions => ['namelanguage1 LIKE ?', "%#{search}%"])
else
find(:all)
end
end
end
class Tag < ActiveRecord::Base
attr_accessible :name, :language_user_id
has_and_belongs_to_many :words
def self.search(search)
if search
find(:all, :conditions => ['name LIKE ?', "%#{search}%"])
else
find(:all)
end
end
end
当我将标签添加到单词然后保存时,它不会保存在数据库中(当我在 rails 控制台Words.find(1).tags 中写入时,我得到空数组。
【问题讨论】:
-
你想如何拯救他们? (调用save时返回值是多少?)
-
您需要在控制台中执行
Word.find(1).tags -
您是否有权访问您的数据库(使用 PHPMyAdmin 之类的工具)?
-
对不起我的错误:我写的是 Word.fond(1).tags。我通过控制器保存单词。
-
我使用 sqlite3 在 localhost 中创建它,所以我只能通过 rails 控制台访问
标签: ruby-on-rails ruby