Hi First let me mention that i am new to rails. In my application there is a form for entering product details for bidding. I have a view and all the data is entered into a form. In the database there is a unique_id which is generated for each product(this is for internal use within the company). The unique id is generated using data from 2 fields and another generated number. all 3 needs to be concatenated. My questions: 1) where is the best place to perform the operation. I assume it is in the controller 2) How do i do it. How do I take the form data and concatenate all the values, so that the unique id is inserted into the database. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
you can handle this all in the model
since i don''t know your attribute names, i''ll just use simple
ones,
foo, bar and the unique id attribute will be unique_ident
class Model < AR::Base
before_create :generate_unique_ident
def generate_unique_ident
unique_ident = foo + bar + self.generate_some_number
end
private
def self.generate_some_number
...
end
validates_presence_of :foo
validates_presence_of :bar
end
then just save your model as usual
On 3/29/07, max
<rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>
wrote:>
> Hi
> First let me mention that i am new to rails.
> In my application there is a form for entering product details for
> bidding. I have a view and all the data is entered into a form.
> In the database there is a unique_id which is generated for each
> product(this is for internal use within the company). The unique id is
> generated using data from 2 fields and another generated number. all 3
> needs to be concatenated.
> My questions:
> 1) where is the best place to perform the operation.
> I assume it is in the controller
> 2) How do i do it. How do I take the form data and concatenate all the
> values, so that the unique id is inserted into the database.
>
> --
> Posted via http://www.ruby-forum.com/.
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
Is this best done in model than in controller? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Is this best done in model than in controller? Is it possible to retrieve some data from the db according to a field? Eg: let us assume foo, bar and unique_ident as above. now bar contains a primary key of a table which contains actual data. foo = 137874 bar = 1 unique_ident = ss137874, because according to table bar_table id value 1 ss 2 dd now can a retrieve the value according to the value of bar which is given in the view? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
sorry, you''ve confused me. foo and bar where my mock columns on your model. i don''t understand where this bar table is coming from. perhaps you need to provide more info on your situtation. On 3/29/07, max <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > Is this best done in model than in controller? > Is it possible to retrieve some data from the db according to a field? > > Eg: let us assume foo, bar and unique_ident as above. > now bar contains a primary key of a table which contains actual data. > foo = 137874 > bar = 1 > unique_ident = ss137874, because according to table > bar_table > id value > 1 ss > 2 dd > > now can a retrieve the value according to the value of bar which is > given in the view? > > -- > Posted via http://www.ruby-forum.com/. > > > >--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
ok. let me start from the begining. 3 fields of concern here are product_code, product_category, unique_ident. In the view product_category is selected through a dropdown. Its values are integer, which is id of the category table. given below is sample values of category table categories id category category_code 1 electronics el 2 cars ca now, sample values input by the user product_code : 333 product_category : 2 in this case the unique_ident should be product_code + the category_code of the corresponding product_category i.e: ca333 I hope i am clear this time -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
well, what you could do in this case is just make it a ''psuedo
attribute'' and you don''t even have to store it in the database
class Product
def unique_ident
category.category_code + product_code
end
end
so in this example say you have
products
id: 1
product_code: 333
category_id: 2
categories
id: 2
category: cars
category_code: ca
p = Product.find(1)
p.unique_ident # => "ca333"
On 3/30/07, max
<rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>
wrote:>
> ok. let me start from the begining.
> 3 fields of concern here are product_code, product_category,
> unique_ident.
> In the view product_category is selected through a dropdown. Its values
> are integer, which is id of the category table.
> given below is sample values of category table
> categories
> id category category_code
> 1 electronics el
> 2 cars ca
>
> now, sample values input by the user
> product_code : 333
> product_category : 2
>
> in this case the unique_ident should be product_code + the category_code
> of the corresponding product_category
> i.e: ca333
>
> I hope i am clear this time
>
> --
> Posted via http://www.ruby-forum.com/.
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---