1ère question:échafaudage Rails à partir de zéro a ses inconvénients
Je suis en train de faire le travail de créer de la méthode, mais il semble que ma forme envoie des données innapropriately à mon DB. Ceci est le 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
La partie la plus importante de cette déclaration est celle-ci:
"admin_wysi"=>{"post_published"=>"<p>\r\n\tasdfasdfasd</p>\r\n"}
qui devrait être tout simplement:
"post_published"=> "<p>\r\n\tasdfasdfasd</p>\r\n"
Regardons mon point de vue ..
- 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'}
Son e est mon contrôleur: 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
Une idée de ce qui pourrait être bugging cela?
2ème question
Aussi étrange que cela est, quand il sauve, il me redirige vers website.com/wysi~~V~~singular~~1st pas website.com/wysis/. Ce dernier est un lien de travail, le prieur n'est pas un lien réel.
Mon routes.rb ressemble à ceci:
map.namespace :admin do |admin|
admin.resource :admin_wysi
end
merci beaucoup pour votre réponse. Je l'ai fait pluriel. Pas de soucis là-bas, ça m'a aidé. En outre, ci-dessus j'ai inclus l'instruction SQL complète. Vous pouvez voir qu'il n'y a pas d'erreurs, et celle que j'avais à l'origine est en fait un moyen accepté d'ajouter des données. Notez bien dans la déclaration cette ligne <<<<< INSERT INTO 'admin_wysis' (' post_published') VALEURS (NULL) >>>> Intéressant? Je ne sais pas ce que cela signifie .. Quoi qu'il en soit, merci beaucoup. – Trip
Haha..pourquoi une migration de rails par défaut rendrait une cellule de table nulle? – Trip
Il s'avère que j'avais un attr_accessor: post_published dans mon modèle qui faisait en sorte que tout ce qui était écrit dans ce champ finissait vide. – Trip