2016-08-03 3 views
-1

私はレールが初めてで、どのようにDBに文字列を保存するparamsを得るのだろうかと思っていました。 現在、保存されている唯一のパラメータは最後のパラメータであり、そのパラメータは「int」型です。Rails。 dbに文字列を保存するparamsを取得する

以下のコードは、事前にコメントしていただきありがとうございます。

コントローラ

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 

データベース

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 

ビュー

<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

おそらく、Railsに関する基本的なチュートリアルを確認する必要があると思います。お試しください:https://www.youtube.com/watch?v=OaDhY_y8W –

+0

基本的なガイドをお読みになるとよいでしょう。これらは公式のRailsガイドです。私は強くそれらを読んで読むことを強くお勧めします - あなたはあなたのレール知識を本当に速くその方法でレベルアップします:http://guides.rubyonrails.org/ :) –

+0

ありがとう、私はリンクを感謝します!そして答えのPradeepに感謝、それは問題でした! – Drixzy

答えて

0

は、それはあなたの間違い、それを解決するための一般的な今 あなたのコード

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 

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 

にエラーがあなたがして、フォームで使用される名前異なるパラメータ名を使用したことによるものです修正します。

関連する問題