ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Datamapper Element löschen
BeitragVerfasst: 30 Aug 2013, 22:48 
Offline
Schüler

Registriert: 11 Apr 2013, 12:48
Beiträge: 49
Hallo,

ich kann Elemente nicht löschen wie in der Dokumentation gezeigt. Anscheinend mache ich etwas falsch.

Die Route unter /ruby/delete - berichtet immer destroy sei eine undefinierte methode.

bitte sagt mir wie ich meine Elemente gelöscht bekomme.

Danke


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
require 'sinatra'
require 'rubygems'
require 'data_mapper'
require "sinatra/reloader"

DataMapper::setup(:default, "sqlite3://#{Dir.pwd}/todo_list.db")
class Item
include DataMapper::Resource
property :id, Serial
property :text, Text

end
DataMapper.finalize.auto_upgrade!

get '/ruby/delete' do
@test = Item.find(1)
@test.destroy
end

post '/ruby' do
"#{params[:message]}"
Item.create(:text => params[:message])
# redirect '/ruby'
end

get '/ruby' do
@items = Item.all
erb :formular
end

get '/ruby/:name' do
@items = Item.all
@name = params[:name]
erb :index

end

__END__


@@ layout


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){

$("#knopf").click(function(){
var daten;
daten = $(message).val();
$.ajax({
type: "POST",
url: "/ruby",
data: "message="+daten,
success: function(data){
location.reload();
}
});
});

});

</script>
<html>
<body>
<%= yield %>
</body>
</html>


@@ index

@@ formular



1
2
3
4
5
6
7
8
9
10
11
<ul>
<% @items.each do |item| %>
<li><%= item.text %></li>
<% end %>

</ul>

<input type="text" value="marco" name="message" id="message">
<input type="submit" id="knopf">




Zuletzt geändert von Quintus am 31 Aug 2013, 00:10, insgesamt 1-mal geändert.
Zwecks besseren Syntax-Highlightings in einzelne Code-Blöcke aufgetrennt


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Datamapper Element löschen
BeitragVerfasst: 31 Aug 2013, 00:13 
Offline
Interpreter
Benutzeravatar

Registriert: 18 Sep 2008, 22:32
Beiträge: 1821
Wohnort: NRW → UN
compiler hat geschrieben:



@test = Item.find(1)


DataMapper ist nicht ActiveRecord. Richtig muss es heißen:




@test = Item.get(1)


Ansonsten bitte immer die vollständige Fehlermeldung posten, keine Zusammenfassungen.

Vale,
Quintus

EDIT: Hab das mal ins „Progammieren“-Forum verschoben. Das ist kein netzwerkspezifisches Problem.

_________________
Habe den Mut, dich deines eigenen Verstandes zu bedienen! — Immanuel Kant

Ich bin freischaffender Softwareentwickler und freue mich über jedes neue Projekt. Kontaktinformation auf meiner Website.

Mein Blog | GitHub-Profil | Auf Twitter: @qquintilianus | PGP/GPG-Schlüssel: B1FE 958E D5E8 468E AA20 8F4B F1D8 799F BCC8 BC4F


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Datamapper Element löschen
BeitragVerfasst: 31 Aug 2013, 00:16 
Offline
Schüler

Registriert: 11 Apr 2013, 12:48
Beiträge: 49
Danke - habs hinbekommen.



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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
require 'sinatra'
require 'rubygems'
require 'data_mapper'
require "sinatra/reloader"

DataMapper::setup(:default, "sqlite3://#{Dir.pwd}/todo_list.db")
class Item
include DataMapper::Resource
property :id, Serial
property :text, Text

end
DataMapper.finalize.auto_upgrade!

get '/ruby/delete/:id' do
items = Item.first(:id => params[:id])
if items then
items.destroy
end



end

post '/ruby' do
"#{params[:message]}"
Item.create(:text => params[:message])
# redirect '/ruby'
end

get '/ruby' do
@items = Item.all
erb :formular
end

get '/ruby/:name' do
@items = Item.all
@name = params[:name]
erb :index

end

__END__
@@ layout
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){

$("#knopf").click(function(){
var daten;
daten = $(message).val();
$.ajax({
type: "POST",
url: "/ruby",
data: "message="+daten,
success: function(data){
location.reload();
}
});
});

});
</script>
<html>
<body>
<%= yield %>
</body>
</html>

@@ index

@@ formular
<ul>
<% @items.each do |item| %>
<li><%= item.id %> <%= item.text %></li>
<% end %>

</ul>

<input type="text" value="marco" name="message" id="message">
<input type="submit" id="knopf">




Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Datamapper Element löschen
BeitragVerfasst: 31 Aug 2013, 00:18 
Offline
Interpreter
Benutzeravatar

Registriert: 18 Sep 2008, 22:32
Beiträge: 1821
Wohnort: NRW → UN
compiler hat geschrieben:
Danke - habs hinbekommen.


items = Item.first(:id => params[:id])


Nein, hast du nicht. ::first dient nicht dem Zweck, anhand der ID herauszusuchen — das geht zwar, ist aber stilistischer Unfug. Dafür speziell gibt es ::get.

Vale,
Quintus

_________________
Habe den Mut, dich deines eigenen Verstandes zu bedienen! — Immanuel Kant

Ich bin freischaffender Softwareentwickler und freue mich über jedes neue Projekt. Kontaktinformation auf meiner Website.

Mein Blog | GitHub-Profil | Auf Twitter: @qquintilianus | PGP/GPG-Schlüssel: B1FE 958E D5E8 468E AA20 8F4B F1D8 799F BCC8 BC4F


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach: