Самый простой способ, я думаю, это проверить его в самой форме.Просто скажите add: disabled => true в поле ввода, если человек не может его редактировать.
<% if @my_object.name %>
<%= f.text_field :name, :disabled => true %>
<% else %>
<%= f.text_field :name, :disabled => true %>
<% end %>
(я думаю, что есть более красивый способ написания этого кода)
Но используяу этого пользователя есть визуальная обратная связь о том, что он не может что-то сделать, всегда лучше ничего не делать, чем выдавать сообщение об ошибке