Oops, I''m sorry. I thought I answered to some open topic with this,
and didn''t know I started a new one.
Well, thank you for you idea, Luke. I though about putting work with
data to model, and I think you are right.
As for empty field, I add validates to model to check that this field
isn''t empty, and also add explanation to the error note.
Sure, I can allow to leave it just blank for ''no image'', but
validate
for presence will make user sure he didn''t forget to put the image
url, and along with format validation with regular expression, it will
minimize the number of mistakes I think.
Well, actually that was a test and I''m just learning Rails, so I guess
my way is not really good on the point of usability, and it''s not a
right thing, but i''m just testing :)
Peace,
Vit
On Sep 5, 11:29 pm, Luke Cowell
<lcow...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:> You''re not really asking a question, but if you''re
looking for
> feedback on your code, I''m happy to provide my 2 cents.
>
> It appears that image_url just returns a string as a path to an image
> under /images/ on your web server.
>
> I would override the default accessor for image_url in your model code
> eg.
>
> def image_url
> url_string = read_attribute(:image_url)
> url_string.blank? ? "defaultpath.png" : url_string
> end
>
> This way you can check the state of the model to determine what to
> render in the view instead of testing which controller action is being
> called. For example, what if you had a product without a url ? Your
> code would break when you call the edit action even though you would
> want to render the default value for product. This could could be
> taken a lot further, but I''ll wait to see if this is helpful to
you.
>
> Also, image_tag references images relative to /images/ on your web
> server, so the image you''d be looking for would be under the page
/
> images/images/#{image_url}
>
> Hope that helps,
>
> Luke
> On Sep 5, 8:08 am, Vitaly
<iva.softw...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
>
>
> > The solution that is good for me:
>
> > <% if controller.action_name == ''new''
%>
> > <%= f.text_field :image_url, :value => ''no
image'' %>
> > <% else %>
> > <%= f.text_field :image_url %>
> > <% end %>
>
> > and then in index.erb set smth like that
> > <%= product.image_url == ''no image'' ?
image_tag("/images/
> > empty.png", :alt => ''Book cover'', :class
=> ''list_image'') :
> > image_tag("/images/#{product.image_url}", :alt =>
''Book cover'', :class
> > => ''list_image'') %>
> > to set work on the default value for this.
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.