Bonjour à tous
Je suis en train de mettre en place une application développée sous ruby on rails.
Pour cette application je dois développer un plugin.
J'affiche un formulaire(jusque la tout va bien)
Lorsque je valide mon formulaire en cliquant sur le bouton j'aimerai faire apparaitre des tableaux avec les temps de pointages de ceux ci.
Je vous montre tout d'abord mon code
Voici le code de mon formulaire
Voici le code de mon controller
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <h2>Timesheet</h2> <p> <% form_for :timesheet, :url =>{:action => 'index', :id => @user} do |f| %> <p><label for="timesheet_date_from">From:</label><br /> <%= f.text_field "date_from", :size => 10, :value => @from %><%= calendar_for('timesheet_date_from') %></p> <p><label for="timesheet_date_to">To:</label><br /> <%= f.text_field "date_to", :size => 10, :value => @to %><%= calendar_for('timesheet_date_to') %></p> <p><label for="timesheet_project_id">User:</label><br /> <%= f.select("user_id", User.find(:all, :conditions =>'firstname!=""',:order => 'login ASC').collect {|u| [ u.name, u.id ] }, { :include_blank => true }) %></p> <%= submit_tag "Get results" -%> <% end %> <% content_for :header_tags do %> <%= javascript_include_tag 'calendar/calendar' %> <%= javascript_include_tag "calendar/lang/calendar-#{current_language}.js" %> <%= javascript_include_tag 'calendar/calendar-setup' %> <%= stylesheet_link_tag 'calendar' %> <% end %>
D'après ce que j'ai compris, en fonction des valeurs de ma liste je fais une requête qui me sélectionne sois un sois plusieurs utilisateurs. Ensuite pour chaque utilisateur j'aimerai sélectionner les valeurs qu'il a rentré dans la table time_entries. Ce qui les relie est le champ user_id
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 # Sample plugin controller class TimesheetController < ApplicationController unloadable layout 'base' helper :sort include SortHelper helper :issues def index @today = Date.today.to_s @sevendayago=(Date.today - 7).to_s case request.method when :post @timesheet = Timesheet.new @timesheet.date_from = params[:timesheet][:date_from] @timesheet.date_to = params[:timesheet][:date_to] @timesheet.user_id = params[:timesheet][:user_id] if @timesheet.user_id == "" @users = User.find(:all, :conditions =>'firstname!=""'); else @users = [User.find(@timesheet.user_id)] end @entries = { } @users.each do |user| logs = user.time_entries.find(:all, :conditions => ['spent_on >= (?) AND spent_on <= (?) ', @timesheet.date_from, @timesheet.date_to], :order => "spent_on ASC") @entries[user.login] = logs unless logs.empty? end when :get @from,@to = @sevendayago,@today @entries = [] end end end
Le probleme est que je passe cette ligne(@users.each do |user|), j'ai un message d'erreur qui m'indique que la méthode find n'est pas connu
Je rajoute à la fin de mon code un fonction
que j'appelle juste après layout 'base'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 private def find_user @user=User.find(params[:user_id]) end
Un autre message d'erreur apparait me disant Couldn't find User without an ID
Code : Sélectionner tout - Visualiser dans une fenêtre à part before_filter :find_user, :authorize
Je ne sais pas si ma requête est fausse où si c'est autre chose.
En fait je suis débutant et j'ai un peu de mal à me dépatouiller avec ce code, malgré les tuto j'ai du mal
Merci d'avance pour vos réponses
Partager