Hello all,

Thank you for all your suggestions.  I know it's been a while but I was on 
a road/sea trip for several weeks without reliable access to the Internet, 
so I would just work for a while, get stuck, and then wait until I next had 
Internet to look up what the problem was so I could keep going.

Here is where I am at, and it's led to more questions:

1. I have a "data uploads" model that contains the uploaded file itself.

2. Each data_upload has_many "import rows"; the import rows table is just a 
"square" table of text that the Excel file gets parsed into.

3. There is a lifecycle action on the data uploads table that takes 
"uploaded" rows and turns them into "parsed" rows -- that essentially makes 
several "import rows" based on the uploaded data.

4. My "real" model (not the Import stuff) has computer manufacturers and 
model numbers.  Each table also has an "aliases" table ("HP", "Compaq", 
"HP/Compaq" are all aliases for "Hewlett Packard", for example).  I made 
methods on the models that would look up records "by name or alias".

5. Another lifecycle action on the data uploads table turns "parsed" rows 
into "imported" ones, by checking for the existence of manufacturers or 
models, and creating them if they do not exist yet.

Now I have more questions:

1. Is there any way to programatically "back out of" changing states in a 
lifecycle, if something goes wrong along the way?  Or having a single 
action decide halfway which of two possible states that should be the 
result.  During development I am just changing things back directly in the 
database, but it seems like the state gets changed at the beginning of the 
action.

2.  Each manufacturer has_many manufacturer_aliases and also has_many 
models.  manufacturer_aliases and models both have create auto_action for 
manufacturers, but only one of them works.  Which one works depends on 
which one is the first "children" of manufacturer.  Is this expected 
behaviour?

3.  Is there any way to interact with the user in the middle of the 
lifecycle action?  Rather than just blindly creating new entries for things 
that it comes across and can't find, I'd like to ask whether it's a new 
manufacturer or an alias of an existing one.

Thanks,

 - Drew

On Wednesday, November 21, 2012 9:57:59 PM UTC+9, Drew Hamilton wrote:
>
> Hi all,
>
> First off, a very quick introduction of where I'm coming from, 
> skill-level-wise:  I'm a complete neophyte with both Rails and Hobo, 
> although I'm familiar with Ruby.  I do understand web development, MVC 
> architecture, OOP, etc., and have used a variety of platforms and 
> frameworks.
>
> My company needs a small internal database to keep track of contracts, and 
> I'm using that as an opportunity to learn Rails.  I was attracted to Hobo 
> because it seems like it will eliminate a lot of the "busy work" involved 
> in making an application.
>
> I did the Agility tutorial, and also followed along with my own 
> application.  Indeed, I was amazed at how I needed to do little more than 
> declare my model to have a full application up and running.  I also did 
> some work at changing some of the cards for my application, just to show 
> that I can, although I prefer not to do a whole lot of that until the 
> application is more complete than it is.
>
> Where I'm stuck now is that after the tutorial, I have an app that allows 
> users to enter and view data, but I don't have a really good understanding 
> of how to make it do things programmatically.
>
> In my specific case, the contract data in my application really only needs 
> to be *viewed*; the data itself should be uploaded once per month from a 
> CSV file and then cleaned up, have the uploader notified of problem rows, 
> etc.  I used Paperclip and made a model that would take the raw CSV files, 
> and I also made a model to hold the actual data from the files.
>
> Parsing the CSV isn't the problem; I'm sure there are many Ruby libraries 
> that can help.  What I don't know is 
>
> - If I wanted to make a link in the "uploaded csv file" page that, when 
> clicked would run code, how do I make that link?  And where does the code 
> itself go?
> - How do I access the data (not the CSV file; I mean how do I make new 
> records; how do I search existing records, etc.) from that code?
>
> I'm certainly not asking anyone to do my work for me; just hoping that 
> someone could give me a link that I can read, or a link to a hobo-based 
> project with public source code, etc. that would help point me in the right 
> direction.
>
> Thanks!
>
>  - Drew
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "Hobo 
Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/hobousers/-/8N0HtSC879wJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/hobousers?hl=en.

Reply via email to