Я хочу fadeOut
div-tag и его вложенный контент, если я fadeOut
ссылку "удалить".
Я написал следующий код:
контроллер:
respond_to :html, :js
def destroy_attachment
@div_id = params[:id]
respond_to do |format|
respond_with @div_id
end
end
Посмотреть:
<% for attachment in attachments %>
<div class="attachment_<%= attachment.id %>">
.....................
...some other content...
.....................
<%= link_to "Destroy", {controller: "topics" , action: "destroy_attachment"},
:id => attachment.id,:remote => true, :confirm => 'Are you sure?',
:method => :post , class: "icon icon-del" %>
</div>
<% end %>
destroy_attachment.js.erb:
$('.attachment_<%= @div_id %>').fadeOut("slow");
Что я делаю не так? Является ли selectioncall(*.attachment_<%= @div_id %>*)
в .js
файле неправильным или что-то еще?
Поэтому я нашел некоторые ошибки в моей реализации, и теперь он работает для меня, со следующим кодом:
контроллер:
def destroy_attachment
@div_id = params[:id]
respond_to do |format|
format.html
format.js
end
end
Посмотреть:
<%= link_to "Destroy", {controller: "topics" , action: "destroy_attachment",:id => attachment.id}, :remote => true, :confirm => 'Are you sure?', :method => :post , class: "icon icon-del" %>
Здесь я переместил часть ": id => attachment.id" в фигурные скобки, чтобы получить доступ с помощью метода params в контроллере
destroy_attachment.js.erb:
$("#attachment_<%=@div_id%>").fadeOut(150, function(){
$(this).remove();
});
$('.attachment <%= @div_id %>').fadeOut("slow");
?