你可能想退房
this web page
来自Rails API文档。
-
生成连接表的最简单方法是
"script/generate model categories_posts category_id:integer post_id:integer"
. 注意类名应该按字母顺序排列。我对整个主键相当漠不关心,但是如果它成为一个问题,您可以生成一个迁移来删除,比如“script/generate droppostcategories-sfrompostcategories-posts-categories-id:integer”(确保这个迁移文件做了您想要的,我没有测试过它,它做的可能会因您的Rails版本而异),然后执行该操作。
rake db:migrate
.更改数据库。
-
对于正在使用的类名,可以使用:
class Post < ActiveRecord::Base
has_many :categories, :through => :posts_categories
end
has many through允许您指定联接/连接表的名称。或者您可以删除该表并用正确的名称重新生成它。
-
(应该是3)是的,只是为一个连接类生成一个模型,不要做整个脚手架。(见上文)
要找到所有帖子,请执行以下操作
@posts = Post.find(:all)
要打印出类别,请执行以下操作
@posts.each do | post |
print post.name, "\n"
@posts.categories.each do | cat |
print "\t", cat.name, "\n"
end
end
在实际的Rails代码中,您希望在视图中这样做,这更像是控制台输出类型的事情。