Je cherche à permettre à un utilisateur de mettre à jour via la page show du modèle des attributs d'un modèle, puis soumettre, pour afficher les attributs mis à jour. :startdate
et :enddate
sont dans ma liste attr_accesible
pour le modèle cart.rb
. Basé sur le journal, il semble qu'il prend la date de fin et la date de début, mais ne le configure pas. Des pensées? Merci beaucoup.Mise à jour des attributs A travers Afficher la page
carts_controller.rb
def show
@cart = Cart.find(params[:id])
end
def update
@cart = Cart.find(params[:id])
respond_to do |format|
if @cart.update_attributes(params[:cart])
format.html { redirect_to(@cart, :notice => 'Dates Set.') }
format.xml { head :ok }
end
end
end
chariots/show.html.erb
<%= form_for @cart do %>
From <%= text_field_tag :startdate %> </br>
To <%= text_field_tag :enddate %>
<%= submit_tag "Set Dates", :method => :put %>
<% end %>
Rental Dates: <%= @cart.startdate %> <%= @cart.enddate %>
development.log
Started POST "/carts/42" for 127.0.0.1 at 2011-08-10 14:27:10 -0400
DEPRECATION WARNING: Setting filter_parameter_logging in ActionController
is deprecated and has no longer effect, please set 'config.filter_parameters'
in config/application.rb instead. (called from <class:ApplicationController> at
/Users/willdennis/rails_projects/spinlister/app/controllers/application_controller.rb:8)
Processing by CartsController#update as HTML
Parameters: {"utf8"=>"✓",
"authenticity_token"=>"2RC9jfvbdUWtlT3OWnVd1OhW7WigUPYVoS5Quuwv2hQ=",
"startdate"=>"08/10/2011", "enddate"=>"08/18/2011", "commit"=>"Set Dates", "id"=>"42"}
[1m[35mCart Load (1.1ms)[0m SELECT "carts".* FROM "carts" WHERE ("carts"."id" = 42)
LIMIT 1 Redirected to http://localhost:3000/carts/42 Completed 302 Found in 82ms
Started GET "/carts/42" for 127.0.0.1 at 2011-08-10 14:27:10 -0400
DEPRECATION WARNING: Setting filter_parameter_logging in ActionController is
deprecated and has no longer effect, please set 'config.filter_parameters' in
config/application.rb instead. (called from <class:ApplicationController> at
/Users/willdennis/rails_projects/spinlister/app/controllers/application_controller.rb:8)
Processing by CartsController#show as HTML
Parameters: {"id"=>"42"}
[1m[36mCart Load (1.3ms)[0m [1mSELECT "carts".* FROM "carts" WHERE ("carts"."id" = 42) LIMIT 1[0m
[1m[35mLineItem Load (0.4ms)[0m SELECT "line_items".* FROM "line_items" WHERE ("line_items".cart_id = 42)
[1m[36mBike Load (1.6ms)[0m [1mSELECT "bikes".* FROM "bikes" WHERE ("bikes"."id" = 86) ORDER BY bikes.created_at DESC LIMIT 1[0m
/mises en page Rendus _stylesheets.html.erb (1.5ms) [1m [35mUser charge (2,4ms) [SELECT "utilisateurs 0m". * FROM "utilisateurs" OU ("utilisateurs". "Id =" 1) LIMIT 1 Rendu des mises en page/_header.html.erb (116.3ms) Rendu des mises en page/_footer.html.erb (1.3ms) Rendu des chariots/show.html.erb dans les mises en page/applications (398.2ms) Terminé 200 OK en 431ms (Vues) : 399.6ms | ActiveRecord: 6.7ms)
Started GET "/stylesheets/application.css" for 127.0.0.1 at 2011-08-10 14:27:11 -0400
ActionController::RoutingError (No route matches "/stylesheets/application.css"):
Rendered /Users/willdennis/.rvm/gems/[email protected]/gems/actionpack- 3.0.1/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (1.3ms)
vous n'avez pas besoin d'utiliser ': method' ici – fl00r
Merci beaucoup. Cela met à jour la page bien. Savez-vous comment je pourrais préserver la liste déroulante du calendrier jQuery (qui a été déclenchée par le 'text_field_tag' je crois)? –
L'élément semble toujours le même, il a juste un ID différent. Ajustez simplement le sélecteur jQuery et cela devrait fonctionner. –