【问题标题】:Rails Model: How to make field read only in Rails model?Rails 模型:如何在 Rails 模型中使字段只读?
【发布时间】:2011-07-24 19:56:27
【问题描述】:

我已经为表格项目定义了属性 is_first。

在模型项目中,我想根据项目之前是否退出来设置此属性的值。
我不希望 is_first 属性是可写的。请建议我该怎么做?

【问题讨论】:

    标签: ruby-on-rails ruby attributes model readonly


    【解决方案1】:

    您需要在模型文件中使用 attr_readonly

    attr_readonly :is_first
    

    【讨论】:

    • 如何验证是否允许写入。我从 rails 控制台设置了 is_first 的值,它的反映相同(尽管尚未保存)
    • 您应该能够创建记录。然后,如果您尝试更新您不应该能够的字段。您可以在控制台中进行测试。
    • 但在我的情况下,即使我创建新记录,我也不希望此属性可以访问,它应该可以通过模型访问,即使出于展示目的也无法在外部访问。
    • 所以也许你可以使用像 before_save 或 before_create 这样的回调来让模型允许或不修改字段。
    • 我正在使用回调来设置字段,但为了使其无法访问,我已经修改了属性本身。见stackoverflow.com/questions/5465628/…
    猜你喜欢
    • 2019-04-28
    • 2017-09-21
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    相关资源
    最近更新 更多