2015-02-21 2 views
0

У меня есть модель Foo с атрибутами bar и baz.Только отображение входов для атрибутов, которые не только на обновление

Baz отмечен как attr_readonly, поскольку его значение не может быть изменено после его создания.

Есть ли способ не отображать поле ввода базы в частичной рендеринговой фирме? Это должно быть динамическим, так как эта фирма также используется методом create, и в этом случае вход будет существовать.

Я использую simple_form и рельсы 4.

ответ

3

ActiveRecord-х new_record? сообщит вам, если запись была сохранялось уже, вы можете использовать. так что-то, как это должно сделать для вас:

<%= f.input :baz if foo.new_record? %> 

есть также persisted? метод, который делает то же самое, но дает обратный результат.

+1

Вы могли бы добавить, что противоположность '#persisted?' Так что вы можете сказать 'if record.persisted? 'Вместо' if record.new_record? ' –

+0

спасибо, обновил мой ответ. – srecnig

Смежные вопросы