# DRY relative to edit and show

**URL:** <https://www.ruby-forum.com/t/dry-relative-to-edit-and-show/50997>\
**Category:** Rails\
**Created:** [December 23, 2005, 6:14pm UTC](https://www.ruby-forum.com/t/dry-relative-to-edit-and-show/50997 "2005-12-23T18:14:21Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![afg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ecc23a/32.png) [@afg](https://www.ruby-forum.com/u/afg)\
**Post date:** [December 23, 2005, 6:14pm UTC](https://www.ruby-forum.com/t/dry-relative-to-edit-and-show/50997/1 "2005-12-23T18:14:21Z")

</div>

I’m a newbie, but it seems like edit and show should somehow share a  
partial form.

In particular I’ve customized the layout of my edit form by using a  
table and multiple rows/columns and I want my show form to look the  
same.

Currently I’ve modified my show view to use \_form, but now all the  
fields are read/write and obviously they need to be read only on the  
show form.

Any ideas, or just do form layout work twice?

## Thanks Greg

Greg F.  
The Norcross Group  
Forensics for the 21st Century

---

<div class="post-metadata">

**Author:** ![afg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ecc23a/32.png) [@afg](https://www.ruby-forum.com/u/afg)\
**Post date:** [December 23, 2005, 6:20pm UTC](https://www.ruby-forum.com/t/dry-relative-to-edit-and-show/50997/2 "2005-12-23T18:20:23Z")

</div>

If none of your fields in your ‘show’ action are editable, why do you  
want to use a form?

Assuming you want a form (in a table) for editing and a table for  
showing, it isn’t redundant (or in violation of the DRY rule) to have  
separate partials or views. The two are inherently different.

---

<div class="post-metadata">

**Author:** ![afg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ecc23a/32.png) [@afg](https://www.ruby-forum.com/u/afg)\
**Post date:** [December 23, 2005, 7:39pm UTC](https://www.ruby-forum.com/t/dry-relative-to-edit-and-show/50997/3 "2005-12-23T19:39:02Z")

</div>

On 12/23/05, Toby B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> If none of your fields in your ‘show’ action are editable, why do you  
> want to use a form?
> 
> Assuming you want a form (in a table) for editing and a table for  
> showing, it isn’t redundant (or in violation of the DRY rule) to have  
> separate partials or views. The two are inherently different.

your right, I don’t need a form. Just trying to eliminate the  
redundant table layouts.

## Greg

Greg F.  
The Norcross Group  
Forensics for the 21st Century

---

<div class="post-metadata">

**Author:** ![afg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ecc23a/32.png) [@afg](https://www.ruby-forum.com/u/afg)\
**Post date:** [December 25, 2005, 4:15pm UTC](https://www.ruby-forum.com/t/dry-relative-to-edit-and-show/50997/4 "2005-12-25T16:15:30Z")

</div>

> It would be nice if rails had a native way to set all the readonly attributes (or enabled, etc… as appropriate for the control) to true or false based on the view being a show or edit. This would eliminate the duplication we see between the actions. \<

If you’re using the RoR helpers to create the forms  
(/app/views/…/\_form)  
\<%= text\_field ‘table’, ‘field’ %\>  
, what about creating an application-wide helper that will set read-only  
attribute based on a flag or global?  
\<%= my\_text\_field ‘table’, ‘field’, read\_only %\>

Rich C.  
removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![afg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ecc23a/32.png) [@afg](https://www.ruby-forum.com/u/afg)\
**Post date:** [December 23, 2005, 8:09pm UTC](https://www.ruby-forum.com/t/dry-relative-to-edit-and-show/50997/5 "2005-12-23T20:09:32Z")

</div>

I have ran into the same concern and fundamentally feel like it is a  
duplication of effort - even though the two actions perform different  
purposes I want them to share 100% of the look-and-feel. I find myself  
copying and pasting the appropriate show and edit files every time and  
then going through and changing them as necessary for the designated  
action.

When I want to change the look-and-feel of one, I have to change the  
other as well. I understand Toby’s argument, but it doesn’t change the  
fact that it is duplicating the effort.

It would be nice if rails had a native way to set all the readonly  
attributes (or enabled, etc… as appropriate for the control) to true  
or false based on the view being a show or edit. This would eliminate  
the duplication we see between the actions.

Just my opinion!

Michael

Toby B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
If none of your fields in your ‘show’ action are editable, why do you  
want to use a form?

Assuming you want a form (in a table) for editing and a table for  
showing, it isn’t redundant (or in violation of the DRY rule) to have  
separate partials or views. The two are inherently different.
