我是rails的新手,想知道如何让params将字符串保存到DB。 截至目前,唯一被保存的参数是最后一个,而且是#34; int"类型。
下面的代码,我提前感谢任何评论!
控制器
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 :(得分: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
错误是由于您使用了不同的参数名称,然后使用了表单中使用的名称。