I'm trying to work with an existing Oracle schema which of course does not follow the Rails conventions for table/column names or primary key types. I used Scaffold to get everything going. I got the table name and the column names set up and I can retrieve the records correctly. However I cannot get the RESTful URLs to work, for Show or Edit. I nailed it down to the issue with the identifier not being numeric. When I update the primary key column - which is VARCHAR2(32) - to contain integers then all URL issues disappear and I am able to Show, Edit and Update. But when I fall back the original values I get "XXX_url failed to generate..." errors. Any ideas how to get around this? Tom
Without any code, it's hard to say. However, I have a legacy DB I'm working with that has an alphanumeric primary key, where the model includes:
set_primary_key "product" # e.g. "E70211A"
and this link generates an appropriate path:
<%= link_to product.product_name, product_path(product.product) %>
HTH,
Tomasz Romanowski wrote:
I'm trying to work with an existing Oracle schema which of course does not follow the Rails conventions for table/column names or primary key types. I used Scaffold to get everything going. I got the table name and the column names set up and I can retrieve the records correctly. However I cannot get the RESTful URLs to work, for Show or Edit. I nailed it down to the issue with the identifier not being numeric. When I update the primary key column - which is VARCHAR2(32) - to contain integers then all URL issues disappear and I am able to Show, Edit and Update. But when I fall back the original values I get "XXX_url failed to generate..." errors. Any ideas how to get around this? Tom
Is it possible that you're existing primary key values will need to be URL escaped in order to produce valid URLs? Do they contain spaces or other special characters that are not permitted in URLs?
BTW for those that follow my posts, I'm actually not completely daft on the use of your vs. you're, and its vs. it's. I guess my fingers are when typing into this forum though. Grrr. I drive myself nuts with that sometimes. hehe.
Is it possible that you're existing primary key values will need to be URL escaped in order to produce valid URLs? Do they contain spaces or other special characters that are not permitted in URLs?
Yup! Thanks! That's what it was! I had a few entries formatted like: XXX.DEFAULT.USER.834029834092830
I changed the primary key and it worked. Will figure out later how to handle it long-term.
Robert Walker wrote: