我有一個一對多的相冊和信息之間的關係:Rails的添加元素,一個一對多的關聯
class Post < ActiveRecord::Base
belongs_to :album
class Album < ActiveRecord::Base
has_many :posts, dependent: :destroy
accepts_nested_attributes_for :posts
在AlbumsController
,我想爲後加入到這種關係建立的方法(到Album.posts
):
def add_post
@album = Album.find(params[:album_id])
params['album']['post_ids'].each do |post_id|
@album.posts << Post.find(post_id)
end
end
它爲什麼不起作用?這樣做的正確方法是什麼?我也嘗試將@album.id
分配到帖子的album_id
列,但它也沒有做任何事情。
形式如下:
<%= form_for :album, url: album_add_post_path(@album), method: :patch do |f| %>
<% @posts.each do |post| %>
<%= check_box_tag :post_ids, post.id, @album.posts.include?(post), :name => 'album[post_ids][]' %>
<% end %>
<%= f.submit class:"btn btn-success"%>
<% end %>
你可以粘貼'form'您使用。 – DevMarwen