我有一个相当简单的设置:
模型/ person.rb
has_many :links
模型/ link_category.rb
attr_accessible :title
has_many :links
模型/ links.rb
attr_accessible :person_id, :link_category_id, :url
belongs_to :person
belongs_to :link_category
链接类别的示例可能是“facebook,twitter,pinterest,wordpress,blog等”。
我想创建的内容,尽可能是DRY和RESTful,是一个列出所有链接类别的单个页面,以及一个文本字段,供他们输入(或更新已提供的)每个类别的网址。
例如,像http://example.com/person/23/links/edit
这样的内容可能会显示如下形式:
Facebook: _ __ _ __ _ __ _ __ _ __ _ __ _ _
Twitter:__ http://twitter.com/example _ _
Wordpress: _ __ _ __ _ __ _ __ _ __ _ __ _
Pinterest: _ __ _ __ _ __ _ __ _ __ _ __ _
我想知道是否有人有这样做的优雅方式,因为它在许多网站中变得非常普遍。
答案 0 :(得分:0)
我认为你要求的东西与我曾经要求的东西非常相似:
Rails: How do I prepend or insert an association with build?
您可以在控制器中调用类似的函数,也可以调用:after_initialize
。
要利用它,您需要将has_many :link_categories, through: :links
添加到Person
模型中。