为什么我的数据不会保存到 SQL?
Why my data won't save to SQL?
我对 Rails 上的 Ruby 很陌生。我只是玩弄它。实际上,我正在尝试创建一个带有标题和 Daterangepick (bootstrap) 的表单。
所以,到现在为止一切正常。但我有一个问题:我的数据没有保存在数据库中。每次我提交表单时,它都会创建一条新记录,自动插入 "created_at" 等。但是我的两个字段 "title" 和 "date" 每次都是空的...我真的不知道在哪里我的错是你们中有人可以帮助我吗?请给我一个解释的答案,因为我真的很想了解发生了什么。
这是我的代码(我正在使用 simple_form gem)
new.html.erb:
<%= simple_form_for @event do |f| %>
<%= f.input_field :title, required: false %>
<%= f.input :date, input_html: { class: "daterange" }, required: false %>
<%= f.button :submit %>
<% end %>
<script type="text/javascript">
$(document).ready(function() {
$('input[class="string optional daterange"]').daterangepicker(
{
locale: {
format: 'YYYY-MM-DD'
},
startDate: '2013-01-01',
endDate: '2013-12-31'
},
function(start, end, label) {
alert("A new date range was chosen: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
});
});
</script>
events_controller.rb:
class EventsController < ApplicationController
def index
@event = Event.all
end
def show
end
def new
@event = Event.new
end
def create
@event = Event.new(event_params)
if @event.save
redirect_to @event
else
render 'new'
end
end
private
def event_params
params.permit(:title, :date)
end
end
我认为这应该足够了...当然,如果您愿意,我可以 post 更多我的代码,但我认为问题一定出在某个地方,因为一切正常...它路由罚款,我可以插入,它将我重定向到 /events/:id ...只是数据库一直为空。谢谢你的帮助!!!
您的参数需要 require
:
def event_params
params.require(:event).permit(:title, :date)
end
我对 Rails 上的 Ruby 很陌生。我只是玩弄它。实际上,我正在尝试创建一个带有标题和 Daterangepick (bootstrap) 的表单。
所以,到现在为止一切正常。但我有一个问题:我的数据没有保存在数据库中。每次我提交表单时,它都会创建一条新记录,自动插入 "created_at" 等。但是我的两个字段 "title" 和 "date" 每次都是空的...我真的不知道在哪里我的错是你们中有人可以帮助我吗?请给我一个解释的答案,因为我真的很想了解发生了什么。
这是我的代码(我正在使用 simple_form gem)
new.html.erb:
<%= simple_form_for @event do |f| %>
<%= f.input_field :title, required: false %>
<%= f.input :date, input_html: { class: "daterange" }, required: false %>
<%= f.button :submit %>
<% end %>
<script type="text/javascript">
$(document).ready(function() {
$('input[class="string optional daterange"]').daterangepicker(
{
locale: {
format: 'YYYY-MM-DD'
},
startDate: '2013-01-01',
endDate: '2013-12-31'
},
function(start, end, label) {
alert("A new date range was chosen: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
});
});
</script>
events_controller.rb:
class EventsController < ApplicationController
def index
@event = Event.all
end
def show
end
def new
@event = Event.new
end
def create
@event = Event.new(event_params)
if @event.save
redirect_to @event
else
render 'new'
end
end
private
def event_params
params.permit(:title, :date)
end
end
我认为这应该足够了...当然,如果您愿意,我可以 post 更多我的代码,但我认为问题一定出在某个地方,因为一切正常...它路由罚款,我可以插入,它将我重定向到 /events/:id ...只是数据库一直为空。谢谢你的帮助!!!
您的参数需要 require
:
def event_params
params.require(:event).permit(:title, :date)
end