0

模型关联如下:

模型一

class TimeLog < ActiveRecord::Base
  has_one :custom_time_field,  :dependent => :destroy
end

模型二

class CustomTimeField <  ActiveRecord::Base
 belongs_to :time_log
end

错误详情:

a = TimeLog.find(1)
a.custom_time_field

#returns => #<CustomTimeField id: 1, time_entry_id: 1, status: 'incomplete', start_time: "2000-01-01 11:24:00", end_time: "2000-01-01 11:24:00">

a.custom_time_field.update(1, :status => '') # returns undefined method `update'

但是 a.custom_time_field.update_attributes() 有效

现在我可以使用 update_attributes 也可以通过创建对象来使用保存方法

但是为什么在这种情况下我不能使用更新方法?当需要一次更新多个属性时,这很有用。

评论/指针?


注销后,单击返回按钮将我带到访问过的页面,如何停止?

大家,

我正在用 JSP 编写一个 Web 应用程序,我是 JSP 和 java 的新手,谁能告诉我如何摆脱浏览器缓存。

我将简要描述一下我的问题...从登录页面登录的用户被带到主页,会话已设置。当他们从主页单击注销时,他们在内部被带到注销页面,会话被破坏并且用户被重定向到登录页面。

现在的问题是当他们点击浏览器的后退按钮时,之前访问过的页面再次显示,虽然如果我触发主页或其他需要登录浏览器的访问页面,注销后重定向到登录页面,那很好,我唯一的问题是后退按钮。

我尝试过的代码片段如下:

    <script type="text/javascript">
    function noBack() { window.history.forward(); }
    noBack();
    window.onload = noBack;
    window.onpageshow = function (evt) { if (evt.persisted) noBack(); }
    window.onunload = function () { void (0); }
    </script>

<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">

    <%  
      response.setHeader("Cache-Control", "no-cache");  
      response.setHeader("Pragma", "no-cache");  
      response.setDateHeader("max-age", 0);  
      response.setDateHeader("Expires", 0);  
    %>

拜托,谁能帮帮我???:( :(

4

1 回答 1

2

update是模型的类方法。这样称呼它:

CustomTimeField.update(1, :status => '')
于 2012-05-14T07:10:04.013 回答