我想在 ruby on Rails 中定义一个不可编辑的文本字段,并分配默认值。我尝试过,但它无法识别只读方法:
<%= f.text_field :email,:value=> current_user.email, :readonly=>readonly %>
请您参考如下方法:
要使表单字段变为只读,请设置 readonly
属性,就像其他人指出的那样:
f.text_field :email, :value => current_user.email, :readonly => true
仅在表单上设置它是不够的,您还需要在模型层中保护此属性:
class User < ActiveRecord::Base
attr_readonly :email
end
有关 attr_readonly
的文档:
“列为只读的属性将用于创建新记录,但更新操作将忽略这些字段。”