我有一個圖庫,它有一個圖庫模型和一個資產模型。請看下圖:accepted_nested_attributes_for - 防止破壞主模型?
class Gallery < ActiveRecord::Base
attr_accessible :gallery_name, :description, :assets_attributes
has_many :assets, :dependent => :destroy
accepts_nested_attributes_for :assets, :allow_destroy => true
def find_featured_image
assets.featured
end
def find_only_featured
assets.only_featured
end
class Asset < ActiveRecord::Base
belongs_to :gallery
has_attached_file :image,
:styles => {
:thumb => '150x150#',
:medium => '300x300>',
:large => '600x600>'
}
def self.featured
where(:featured => true).limit(1)
end
scope :only_featured, where(:featured => true)
end
end
我可以通過我的畫廊形式摧毀資產,但是當我試圖摧毀畫廊本身,我只是重定向到沒有確認通知顯示視圖。
這裏是我的形式:
<div id="gallery">
<div class="headers"><h1>MDN Photo Gallery</h1></div></br>
<% @galleries.each do |gallery| %>
<div id="gallery_wrap">
<div id="gallery_left">
<div id="gallery_head"><h2><%= gallery.gallery_name %></h2></div>
<div id="gallery_desc"><%= gallery.description %></div>
</div>
<div id="gallery_rt">
<div id="gallery_featured">
<% for asset in gallery.assets.featured %>
<%= link_to(image_tag(asset.image.url(:medium)), asset.image.url(:large), :class => "fancybox", :rel => gallery.id) %>
<% end %>
</div>
<div id="gallery_photos">
<% for asset in gallery.assets %>
<%= link_to(image_tag(asset.image.url(:thumb)), asset.image.url(:large), :class => "fancybox", :rel => gallery.id) %>
<% end %>
</div>
<td><%= link_to 'Show', gallery %></td>
<td><%= link_to 'Edit', edit_gallery_path(gallery) %></td>
<td><%= link_to 'Destroy', gallery, :confirm => 'Are you sure?', :method => :delete %></td>
</div>
</div>
</br>
<% end %>
<br />
<%= link_to 'New Gallery', new_gallery_path %>
</div>
我使用的是標準摧毀獲取與支架創建方法:
def destroy
@gallery = Gallery.find(params[:id])
@gallery.destroy
respond_to do |format|
format.html { redirect_to(galleries_url) }
format.xml { head :ok }
end
有一些變化,我需要做的模型?摧毀方法?還要別的嗎?爲了能夠刪除嵌套模型的父親?
預先感謝您的見解。 任何想法?
你碰巧知道rails中的哪個.js庫對此負責?也許JavaScript的加載順序與此有關。 – 2012-01-03 23:37:41
您正在使用哪個版本的Rails?如果在3.1之前,您是否安裝了jQuery支持,或者您是否使用默認的Prototype支持? – 2012-01-05 07:01:31
我正在使用v3.0.3。我不熟悉需要安裝JQuery支持。我將JQuery添加到默認的Prototype支持。你有鏈接,你可以參考我?謝謝! – 2012-01-06 14:05:07