<%
  if @resource.typus_field_options_for(:read_only).include?(attribute.to_sym)
    html_options.merge!(:disabled => 'disabled')
    message = Typus::I18n.t("Read only")
  end
%>

<li id="<%= attribute_id %>">
  <%= form.label related_fk, "#{label_text} <small>#{message}</small>".html_safe %>
  <% if values.any? %>
    <%= form.select related_fk, values, options, html_options %>
  <% else %>
    <%= Typus::I18n.t("No %{resources} found.", :resources => related.model_name.human.downcase.pluralize) %>
  <% end %>
</li>

<%
  if @resource.typus_field_options_for(:read_only).include?(attribute.to_sym)
    html_options.merge!(:disabled => 'disabled')
    message = Typus::I18n.t("Read only")
  end
%>

<li id="<%= attribute_id %>">
  <%= form.label attribute, "#{label_text} <small>#{message}</small>".html_safe %>
  <% if values.any? %>
    <%= form.select related_fk, values, options, html_options %>
  <% else %>
    <%= Typus::I18n.t("No %{resources} found.", :resources => related.model_name.human.downcase.pluralize) %>
  <% end %>
</li>

Use the attribute instead of the related_fk.
Use the attribute instead of the related_fk.
