Пользователи имеют подписку на каналы, но когда я изменить (как это было предложено в другом месте на stackO)Rails: Я хочу, чтобы добавить индекс к ресурсу: символ маршрута
resource :subscriptions
в
resources: subscriptions
он ломает некоторые ajax-функциональность, которую я уже реализовал в отношении уничтожения.
Я хочу, чтобы иметь возможность связываться с/subscriptions/и иметь возможность просматривать все свои подписки. Проблема в том, что в настоящее время он приводит меня к подпискам # show, когда я действительно хочу #index.
Как мне это сделать?
Вот мой AJAX:
<div id="subscribe" class="shadow">
<% if session[:read_random]
unless is_subscribed?(session[:read_random].last)%>
<%= link_to 'Subscribe', subscriptions_path(feed_id: session[:read_random].last), method: :post, remote: :true %>
<% else %>
<%= link_to 'Unsubscribe', subscriptions_path(feed_id: session[:read_random].last), method: :delete, remote: :true %>
<% end
end %>
</div>
Вот мой уничтожить методу
def destroy
if params[:feed_id]
#this is the ajax call
@subscription = Subscription.find_by_user_id_and_feed_id(session[:user_id], params[:feed_id])
else
#this is the index destroy call (unsubscribe)
@subscription = Subscription.find(params[:id])
end
@subscription.destroy
respond_to do |format|
format.html { redirect_to request.referer }
format.js
format.json { head :no_content }
end
end
Разница, которая похожа на разрыв моей функции ajax, заключается в том, что ни один маршрут не соответствует [DELETE] "/ subscriptions" после добавления 's' в 'resource' –