CRUD app avec radio_button


#1

Bonjour a toutes et a tous,

Je suis nouveau dans l’univers Rails alors merci de ne pas me lincher si
je ne poste pas au bon endroit.

J’ai quelques soucis pour remplacer les 'Edit|Update|Delete" link_to des
scaffold par un bouton radio devant chaque ligne de la table et 3
boutons representant les actions ‘Edit’, ‘Update’ et ‘Delete’ en bas de
la liste.

Jusqu’ici j’ai fais un truc du genre:
(app/views/peoples/list.rhtml)
[…]

<% form_for :people, :url => { :action => :manage_people } do |form| %>
<% for people in @peoples %>

<%= form.radio_button(:id, people.id) %> <% for column in People.content_columns %> <% item=people.send(column.name) %> <%= h(item) -%> <% end %> <% end %>

<%= submit_tag “Show” %>
<%= submit_tag “Delete” %>
<%= submit_tag “Update” %>
<% end %>

Et j’ai cree une methode manage_people dans le controller:
[…]

def manage_people
params[:id] = params[:people][:id]
case params[:commit]
when ‘Delete’: self.destroy
when ‘Show’: redirect_to :action => :show, :id => params[:id]
when ‘Update’: redirect_to :action => :update, :id => params[:id]
else redirect_to :action => :list
end
end

Mais pour etre honnete je trouve ca pas tres joli et puis surtout je
n’ai pas la possibilité comme ca de faire une demande de confirmation
pour le delete d’une ligne. Au debut j’avais mis des redirect_to pour
toutes les actions des boutons mais pour le destroy il faut un POST et
il me semble que redirect_to ne fait que des GET.

Alors si vous avez 2 minutes pour critiquer ce code et me dire comment
en faire un beau ou me donner l’url d’un example…

Merci.


#2

Paul M. wrote:

Jusqu’ici j’ai fais un truc du genre:
<% end %>
[…]

Mais pour etre honnete je trouve ca pas tres joli et puis surtout je
n’ai pas la possibilité comme ca de faire une demande de confirmation
pour le delete d’une ligne. Au debut j’avais mis des redirect_to pour
toutes les actions des boutons mais pour le destroy il faut un POST et
il me semble que redirect_to ne fait que des GET.

Alors si vous avez 2 minutes pour critiquer ce code et me dire comment
en faire un beau ou me donner l’url d’un example…

http://api.rubyonrails.org/classes/ActionController/Resources.html

Utilise un system REST


Cyril M.
http://blog.shingara.fr


Cyril M.
http://blog.shingara.fr


#3

Cyril M. wrote:

http://api.rubyonrails.org/classes/ActionController/Resources.html

Utilise un system REST

N’aurais tu pas un exemple concret ?

Merci.


#4

Paul M. wrote:

En général on nous demande justement comment ne pas faire du REST. Donc
il suffit de regarder tous les tutos de son blog en 5min avec Rails
pour avoir un exemple concret. Sinon cf des codes open source. A part
Redmine tout est CRUD en Opensource Rails. Même Typo :stuck_out_tongue:


Cyril M.
http://blog.shingara.fr