当我提交表单时,新数据不会保存在数据库中,因此我看不到它们,但是当我创建新数据时,如welcome = Welcome.new和welcome.title =&# 34;你的是"通过rails console他们工作,我只能看到我在控制台中做的事情而不是应用程序。似乎提交底部并没有保存任何数据。
new.html.erb
<h1> Submite </h1>
<form action="new" method="post" class="form-horizontal" role ="form">
<div class="form-group">
<label for"kind"> kind </label>
<input type="string" id="kind" name="kind" class="form-control">
</div>
<br>
<div class="form-group">
<label for"title"> title </label>
<input type="string" id="title" name="title" class="form-control">
</div>
<br>
<div class="form-group">
<label for"text">"text </label>
<input type="text" id="text" name="text" class="form-control">
<br>
</div>
<br>
</div>
<input type="submit" value="Submit" class="btn btn-primary">
<a href="/welcomes/index">List </a>
</div>
index.html.erb
<% @welcomes.each do |welcome| %>
<li><%= welcome.title %> </li>
<% end %>
welcomes_controller
def index
@welcomes = Welcome.all
end
def new
@welcome = Welcome.new
end
def create
@welcome = Welcome.new(user_params)
if @welcome.save
flash.keep[:notice]="Successfuly created"
render :index
else
render :new
# format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
private
def user_params
params.require(:welcome).permit(:kind, :title, :text)
end
答案 0 :(得分:1)
您的表单未提交到正确的路线。请改用表单构建器:
<%= form_for @welcome do |f| %>
<%= f.label :kind %>
<%= f.text_field :kind %>
<%= f.submit %>
<% end %>
这会将表单提交的正确路径放入HTML