Рельсовые леса с нуля имеют свои недостатки - PullRequest
0 голосов
/ 22 июня 2010

1-й вопрос:

Я пытаюсь заставить метод create работать, но похоже, что моя форма отправляет данные в мою БД ненадлежащим образом.Это server.log:

Processing Admin::AdminWysisController#create (for ::1 at 2010-06-22 13:43:58) [POST]
Parameters: {"commit"=>"save", "action"=>"create", "authenticity_token"=>"P8pW7GnSNr7RZcxFcejpfsu9YCX7z8hO0DJPH3rYalQ=", "controller"=>"admin/admin_wysis", "admin_wysi"=>{"post_published"=>"<p>\r\n\tstinky</p>\r\n"}}
User Columns (2.0ms)   SHOW FIELDS FROM `users`
User Load (0.3ms)   SELECT * FROM `users` WHERE (`users`.`id` = '1') LIMIT 1
SQL (0.1ms)   BEGIN
User Update (0.2ms)   UPDATE `users` SET `updated_at` = '2010-06-22 17:43:58', `perishable_token` = 'XMxt1yi5_4JEwPP-21GO', `last_request_at` = '2010-06-22 17:43:58' WHERE `id` = 1
SQL (0.4ms)   COMMIT
AdminWysi Columns (1.0ms)   SHOW FIELDS FROM `admin_wysis`
SQL (0.1ms)   BEGIN
AdminWysi Create (0.1ms)   INSERT INTO `admin_wysis` (`post_published`) VALUES(NULL)
SQL (0.4ms)   COMMIT
Redirected to http://localhost:3000/admin/admin_wysi
Completed in 139ms (DB: 5) | 302 Found [http://localhost/admin/admin_wysi]
SQL (0.1ms)   SET NAMES 'utf8'
SQL (0.1ms)   SET SQL_AUTO_IS_NULL=0

Самая важная часть этого утверждения:

"admin_wysi"=>{"post_published"=>"<p>\r\n\tasdfasdfasd</p>\r\n"}

, которая должна быть просто:

 "post_published"=> "<p>\r\n\tasdfasdfasd</p>\r\n"

Давайте посмотрим на мой взгляд ..

- form_for @admin_wysi, :url => admin_admin_wysi_path do |f|
    = f.error_messages :header_message => FORM_ERROR_HEADER_MESSAGE, :message => FORM_ERROR_MESSAGE
    = f.cktext_area :post_published, :cols => '70', :rows => '30', :width => '555px', :height => '240px', :toolbar => 'HQ'
    %br/
.grid_2.prefix_5.align_right
  = f.submit 'save', {:class => 'button'}

Вот мой контроллер: D

def new
 @admin_wysi = AdminWysi.new
end

def create
  @admin_wysi = AdminWysi.new(params[:admin_wysi])
  if @admin_wysi.save
    redirect_to admin_admin_wysi_path
 end
end

Есть идеи, что может вызывать это?

2ndВопрос Как ни странно, когда он сохраняет, он перенаправляет меня на сайт website.com/wysi, а не website.com/wysis/.Последняя является рабочей ссылкой, а предыдущая не является реальной ссылкой.

Мой route.rb выглядит так:

map.namespace :admin do |admin|
  admin.resource :admin_wysi
end

1 Ответ

0 голосов
/ 22 июня 2010

Получаемые вами параметры - это то, что ожидается в приложении Rails.В противном случае не было бы хорошего способа получить доступ только к параметрам, которые являются частью объекта для сохранения (например, чтобы отбросить пары ключ / значение commit, action и т. Д.).Какие ошибки вы получаете от действия создания?Если он перенаправляет вас, кажется, что он, вероятно, не получает ошибок при сохранении.

Что касается вашей проблемы с маршрутизацией, то причина, по которой вы получаете единственное (wysi), а не множественное (wysis), заключается в том, что выиспользуется map.resource вместо map.resources.Если вы измените это, я считаю, что это должно решить проблему маршрутизации.

...