2016-08-03 6 views
-1

저는 레일스를 처음 사용하고 DB에 문자열을 저장하는 params를 얻는 방법에 대해 궁금합니다. 현재 저장되고있는 유일한 매개 변수는 마지막 매개 변수이며 그 매개 변수는 "int"유형입니다.레일. 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

레일스에 대한 기본 자습서를 검토해야 할 것 같습니다. 다음을 시도해보십시오. 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 

에 오류가 당신이 다음 형태로 사용의 이름을 다른 매개 변수 이름을 사용하는 것과 때문이다 수정합니다.