Rails 使用数据库值自动填充表单,从而忽略我的模型方法

Rails autopopulates form with database values thus ignoring my model methods

我的看法:

<%= form_for @product do |f| %>
  <%= f.text_area :hi %>
<% end %>

我的模型:

def hi
  'hello'
end

从控制台可以正常工作 - 无论 :hi 属性确实在数据库中,它都被检索为 'hello'

我想 Rails 在自动填充表单时会忽略模型方法覆盖? 如何让它注意我的覆盖?

Rails 得到 contents of the textarea from #attributes[:hi].value_before_typecast, so to get content to be filed from product.hi you should use content_tag

在您看来,代替

  <%= f.text_area :hi %>

添加:

<%= @model_name.hi%>

有效。