2016-08-03 26 views
-1

Ich bin neu in Schienen und fragte mich, wie ich Params zu String zu DB zu speichern. Der einzige Parameter, der gespeichert wird, ist jetzt der letzte und dieser ist vom Typ "int".Schienen. Get Params zum Speichern der Zeichenfolge in db

Code unten, ich danke im Voraus für Kommentare!

-Controller

def new 
    #params['titel'] 
    mypage=Task.new 
    mypage.name=params['titel'] 
    mypage.completion=params['done'] 
    mypage.priority=params['priority'] 
    mypage.save 

    redirect_to action: "tasks" 

    end 

Datenbank

class CreateTasks < ActiveRecord::Migration 
    def change 
    create_table :tasks do |t| 

     t.timestamps null: false 
    end 

    add_column :tasks, :name, :string 
    add_column :tasks, :completion, :string 
    add_column :tasks, :priority, :int 

    end 
end 

Ansicht

<form action="/asterix" method="post"> 
    Name <input name="name"> 
    <br> 
    Completion <input name="completion"> 
    <br> 
    Priority <input name="priority"> 
    <br> 
    <button type="submit"></button> 
</form> 
+0

Ich denke, dass Sie wahrscheinlich ein grundlegendes Tutorial auf Rails überprüfen müssen. Versuchen Sie: https://www.youtube.com/watch?v=OaDhY_y8WTo –

+0

Stimmen Sie zu, dass Sie gut daran tun würden, einige grundlegende Anleitungen zu lesen. Dies sind die offiziellen Rails Guides und ich empfehle dringend, sie durchzulesen - Sie werden Ihr Rails Wissen auf diese Weise schnell aufstocken: http://guides.rubyonrails.org/ :) –

+0

Danke Leute, ich schätze die Links! Und danke Pradeep für die Antwort, das war das Problem! – Drixzy

Antwort

0

Gemeinsame es Ihr Fehler es lösen jetzt korrigieren Sie den Code

def new 
#params['titel'] 
mypage=Task.new 
mypage.name=params['titel'] 
mypage.completion=params['done'] 
mypage.priority=params['priority'] 
mypage.save 
redirect_to action: "tasks" 
end 

zu

def new 
#params['titel'] 
mypage=Task.new 
mypage.name=params[:name] 
mypage.completion=params[:completion] 
mypage.priority=params[:priority] 
mypage.save 
redirect_to action: "tasks" 
end 

Der Fehler ist auf Grund, dass Sie verschiedene Parameternamen verwendet, dann in Form verwendet Namen.