Ruby on Rails не добавляет запись в базу данных - PullRequest
0 голосов
/ 26 марта 2010

Прошло много времени с тех пор, как я окунулся в Ruby on Rails, и мне трудно переносить данные в мою модель,

вот что говорит сервер, когда я отправляю форму:

Processing ScoresController#index (for 127.0.0.1 at 2010-03-26 15:31:44) [POST]
  Parameters: {"commit"=>"Add", "authenticity_token"=>"326dd05ffa596bfa12ec3ebb6f48933dbad8dc0c", "score"=>{"name"=>"third score", "score"=>"4"}}
  Score Load (0.5ms)   SELECT * FROM "scores" ORDER BY score DESC
Rendering scores/index
Completed in 5ms (View: 2, DB: 0) | 200 OK [http://0.0.0.0/scores]

но запись не добавляется в базу данных, я знаю, что это действительно простой материал, но я озадачен, почему он не работает!

Вы можете увидеть исходный код на моем github здесь: http://github.com/AlexEdwardFish/Scores/tree/master/app/

Ответы [ 2 ]

1 голос
/ 26 марта 2010

Похоже, что вы отправляете форму в индекс вместо создания. Попробуйте изменить порядок расположения ваших маршрутов. Приоритет основан на создании, поэтому в этом порядке должны быть map.resources, map.root, а затем строки map.connect.

map.resources :scores
map.root :controller => "scores"
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
1 голос
/ 26 марта 2010

Возможно, он не проходит проверки, и ваш контроллер не проверяет, не удалось ли сохранить.

Кроме того, вы разместили журнал для индекса, но не для создания ... но сообщение не подходит для индекса, ах, ха! Это не запуск метода создания. Вероятно, проблема маршрутизации. Ах да, у вас есть map.resources после операторов маршрутизации по умолчанию. Эти две строки должны быть последними строками в файле, если они вообще используются:

map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'

Почему бы вам не использовать генератор ресурсов для написания скаффолда по умолчанию для вас? Намного легче учиться на примере, который уже работает. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...