所以我有以下形式:處理控制器動作爲JS,而不是HTML
<%= form_tag url_for(:controller => 'profile', :action => 'follow_topic'), :remote => true do %>
<%= hidden_field_tag :topic_id, topic_id %>
<%= content_tag :button, :class => 'link', :onclick => "javascript:document.getElementById('followtopic#{Topic.find(topic_id).identifier}').innerHTML='Following...'" do %> Follow <% end %>
<% end %>
,我試圖讓控制器來處理它作爲JS到位的HTML。有趣的是我有一個完全像這樣的形式在應用程序中的另一個位置,似乎工作正常,並且控制器定義是相同的。無法完全弄清楚問題所在。關於我應該首先檢查的任何想法?
def follow_topic
@topic = Topic.find(params[:topic_id])
current_user.follows << @topic
respond_to do |format|
format.js
end
end
我已經添加了render:nothing => true,:response =>:ok,它仍然以HTML格式處理並將頁面重定向到/ profile/follow_topic。 –
如果您將'format.js'留空,它*應該*渲染一個javascript模板。在這種情況下,'follow_topic.js.erb'。 – Mischa
所以,我不認爲空'format.js'是問題。 – Mischa