在 Rails 3.1.0 中,你可以使用 readonly
属性来设置只读字段。以下是一个简单的例子:
class User < ActiveRecord::Base
# ...
def readonly?
true
end
end
然后,你可以在视图中使用 readonly
属性来设置只读字段:
<%= f.text_field :readonly, :readonly => true %>
这将在用户界面上显示只读字段,并且不允许编辑。需要注意的是,readonly
属性只对 HTML 元素有效,对 JSON 或其他格式无效。
如果你想在 JSON 格式中设置只读字段,你可以使用 attr_readonly
函数:
class User < ActiveRecord::Base
# ...
def readonly?
true
end
end
class UsersController < ApplicationController
# ...
def update
@user = User.find(params[:id])
@user.update_attributes(params[:user])
render json: { readonly: @user.readonly? }
end
end
在上述例子中,readonly?
方法将返回 true
,表示只读字段是只读的。在 JSON 格式中,attr_readonly
函数将返回 true
,表示该字段是只读的。
领取专属 10元无门槛券
手把手带您无忧上云