注意我已经阅读过:Rails 3 : How to insert Record in Database using Rails
我正在使用Rails 5。
请告诉我如何在数据库中插入记录。
我是使用MYSQL,下面是我的表结构,在db文件夹中是正确的schema.rb
ActiveRecord::Schema.define(version: 20161107113839) do
`create_table "allusers", force: :cascade, options: "ENGINE=InnoDB `DEFAULT CHARSET=latin1" do |t|`
t.string "username", limit: 50, null: false
t.string "email", limit: 50
t.string "password", limit: 50
t.string "likedvideos", limit: 50
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
end
这是我的控制器文件user1_controller.rb
class User1Controller < ApplicationController
def user1index
end
这是我的模型文件alluser.rb
class Alluser < ApplicationRecord
end
这是我在\ app \ views \ user1 \ user1index.html.erb
下的视图文件 <form <% @user1,:action => :new, :method => :post %> >
username: <input type="text" name="username" /><br />
email: <input type="text" name="email" /><br/>
password:<input type="password" name="password" /><br/>
likedvideos: <input type="text" name="likedvideos" /><br/>
</form>
如果我这样做,我会收到错误。是吗?
<form <% @user1,:action => :new, :method => :post %> >
这一行给了我一个错误,说用户n之后预期的ruby:action n after:method。我该怎么办?
根据我的文件名提示帮助,而不是d顶部链接中ppl的文件名。日Thnx
错误
home/vaibhav/MusicDirectory/app/views/user1/user1index.html.erb:46: syntax error, unexpected =>, expecting &. or :: or '[' or '.' ...orm '.freeze; @user1 ,:action=> :new ,:method => :post ;@out... ... ^
答案 0 :(得分:1)
您的表单应如下所示:
<%= form_for @user1 do |u| %>
<%= u.label :username %>:
<%= u.text_field :username %><br />
<%= u.label :email %>:
<%= u.text_field :email %><br />
<%= u.label :password %>:
<%= u.password_field :password %><br />
<%= u.label :liked_videos %>:
<%= u.text_field :liked_videos%><br />
<%= u.submit %>
<% end %>