Why I can't override attr_reader for simple_form?

I have simple problem with overriding attribute readers and seeing same changes appear on simple_form. I have a model and it has some attributes that I want to override with different readers. I did something like following

class CustomerSupplierItem < ActiveRecord:Base

it has attribute called pack

def pack

“Some overridden value”



Now when I use the model in simple_form

<%= simple_form_for @customer_supplier_item do |f| %>

<%= f.input :pack %>

<% end %>

I do not get “Some overridden value” as value in pack input. I see original pack value without overridden attr_reader.

What is the way to override the attr_reader such that is affects simple_form and similar form helpers?



it seens like it is a issue within the rails form helper itself

I’ve tried to do what you described and got the same problem, even by using only form_for @model

But you can always write the the value that you want with input_html

<%= f.input :name, :input_html => { :value => @model.name } %>

it works, but is not the better way, if I were you I would might consider using a class method that will be responsable to return the value you wanted into the “get method”