【问题标题】:Why my data won't save to SQL?为什么我的数据不会保存到 SQL?
【发布时间】:2016-09-22 11:37:05
【问题描述】:

我对 Ruby on Rails 还是很陌生。我只会玩弄它。实际上,我正在尝试创建一个带有标题和 Daterangepick (引导程序)的表单。

所以,到目前为止一切正常。但我有一个问题:我的数据没有保存在数据库中。每次我提交表单时,它都会创建一条新记录,自动插入“created_at”等。但是我的两个字段“标题”和“日期”每次都是空的……我真的不知道我的错在哪里。你们当中有人可以帮助我吗?请给我一个解释的答案,因为我真的很想了解发生了什么。

这是我的代码(我正在使用 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

我认为这应该足够了...如果您愿意,我当然可以发布更多我的代码,但我认为问题一定出在某个地方,因为一切正常...它路由罚款,我可以插入,它将我重定向到 /events/:id ...只是数据库一直为空。谢谢你的帮助!!!

【问题讨论】:

    标签: ruby-on-rails ruby simple-form daterangepicker


    【解决方案1】:

    您的参数中需要require

      def event_params
        params.require(:event).permit(:title, :date)
      end
    

    【讨论】:

    • 谢谢各位!!!这解决了我的问题!但真的很奇怪......我发誓 2 小时前我用这个 .require 完全按照你现在写的方式......我得到了一个错误。现在它起作用了。可悲的是,我不知道我在过去两个小时内发生了什么变化......但没关系,无论如何,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2020-08-01
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多