【发布时间】:2013-12-18 17:12:39
【问题描述】:
所以,我一直在尝试纠正我隐藏推文的选择。它工作过一次,但由于我当时没有保存它,所以我失去了我的方法。
我的功能很简单,你点击隐藏,它就会隐藏一条推文。这是我在控制器中的内容;
def hide
@newtweet = Newtweet.find(params[:id]).update_attribute(:stauts, 'new')
respond_to do |format|
format.js {flash[:notice] = "We've archives your tweet for later."}
end
end
这是我的链接;
<%= link_to "hide", hide_url(:id => tweetsy.id), :class => "btn btn-warning btn-sm hideit hidden-xs", :remote => true %>
最后,这是我的链接路线中的内容;
match '/dashboard/hide/:id' => 'dashboards#hide', :as => :hide
我的仪表板控制器中有 def hide.. 只要我添加它就可以工作
respond_to do |format|
end
甚至……这一切都给了我
Completed 406 Not Acceptable in 8ms (ActiveRecord: 1.8ms)
不知道,我之前是如何让它工作的,我正要拔掉我的头发。如果我添加 format.js .. 同样的旧东西。如果我删除
respond_to do |format|
end
这一切正常.. 即使上面留下了它,仍然隐藏它,但我得到一个空白屏幕而不是一个很好的 ajax 发生。
【问题讨论】:
-
当一个动作有一个空的
respond_to块时,响应状态406是正常的,因为这个空块表示该动作不响应任何格式。如果你有format.js...行,你应该得到一个错误(状态 500),因为 rails 找不到匹配的视图(至少在没有 app/views/THERESOURCE/hide.js.SOMEHANDLER 文件的情况下)。你到底想达到什么目的? -
Margin - 我只是在更新我的数据库,将它的状态从新更改为隐藏......所以它不会显示在整体视图中。该 js 用于隐藏推文并在不刷新页面的情况下更新。
-
我的意思是,马丁,对不起。此外,无论我是否有 format.js,似乎只要我添加
respond_to块,它就会退出并附带Completed 406 Not Acceptable in 7ms -
完全取出
respond_to do |format|,给我缺少模板的错误。有点迷茫
标签: javascript jquery ruby-on-rails twitter