This project is archived and is in readonly mode.
Can't have a two letter model name
-
Clemens Kofler
- Tag changed from model naming, 2.1 to 2.1, activerecord, bug
I can't confirm this.
./script/generate scaffold lp name:string
rake db:migrate
Works fine in ./script/console:
Loading development environment (Rails 2.1.0)
>> l = Lp.find(:first)
=> #
>> exit
Also works fine with ./script/server:
Processing LpsController#index (for 127.0.0.1 at 2008-07-11 11:02:26) [GET]
Session ID: BAh7BzoMY3NyZl9pZCIlODM2ZGM2NDNmYzgxYzFhODhkYWViYzIwZWVmODAz
NDEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh
c2h7AAY6CkB1c2VkewA=--7c38f36cc0db1a43cc81d42bd5de0365f862d2f4
Parameters: {"action"=>"index", "controller"=>"lps"}
SQL (0.000211) SET NAMES 'utf8'
SQL (0.000109) SET SQL_AUTO_IS_NULL=0
Lp Load (0.000263) SELECT * FROM `lps`
Rendering template within layouts/lps
Rendering lps/index
Lp Columns (0.002606) SHOW FIELDS FROM `lps`
Completed in 0.01624 (61 reqs/sec) | Rendering: 0.00724 (44%) | DB: 0.00319 (19%) | 200 OK [http://localhost/lps]
Rails version is 2.1 - tried it both from the gem version and frozen. Also works fine with current Edge Rails.
-
RSL
The filename for the class LP should be l_p.rb, shouldn't it?
-
RSL
It seems that the model generator does incorrectly name the file. :/ All the other generators seem to employ l_p.
sneaky:test rsl$ script/generate scaffold LP
exists app/models/
exists app/controllers/
exists app/helpers/
create app/views/l_ps
exists app/views/layouts/
exists test/functional/
exists test/unit/
exists public/stylesheets/
create app/views/l_ps/index.html.erb
create app/views/l_ps/show.html.erb
create app/views/l_ps/new.html.erb
create app/views/l_ps/edit.html.erb
create app/views/layouts/l_ps.html.erb
create public/stylesheets/scaffold.css
create app/controllers/l_ps_controller.rb
create test/functional/l_ps_controller_test.rb
create app/helpers/l_ps_helper.rb
route map.resources :l_ps
dependency model
exists app/models/
exists test/unit/
exists test/fixtures/
create app/models/lp.rb
create test/unit/lp_test.rb
create test/fixtures/lps.yml
exists db/migrate
create db/migrate/20080711120658_create_lps.rb
On further inspection this is because Inflector.underscore looks for camelcasing and since there are no lowercase letters at all, it doesn't trigger the gsubs. Inflector's behavior makes sense and LP seems like a less than optimal choice but it does reveal an inconsistency that could be rectified without causing breakage. I think it would be better for the generators to use a localized algorithm for underscoring from camelcase like this rather than modifying how Inflector works. Sound right?
-
josh
- State changed from new to wontfix