【问题标题】:Rails form params not being picked upRails 表单参数未被拾取
【发布时间】:2018-07-14 03:00:14
【问题描述】:

我正在做一个小项目来熟悉 Rails。我有以下代码:

模型事件.rb

class Event < ApplicationRecord
  validates :title, presence: true
  validates :date, presence: true
  has_and_belongs_to_many :users
end

查看 app/views/events/new.html.erb

<h1> Create event </h1>
<p> Create a new event here: </p>
<%= form_for @event do |e| %>
<%= e.label :title %>
<%= e.text_field :title %> <br />
<%= e.label :date %>
<%= e.text_field :date %> <br />
<%= e.submit  %>
<% end %>

控制器 app/controllers/events_controller.rb

def create
    @event = Event.new(event_params)
    if @event.save
      render html: "Event saved!"
    else
      render html: "Didn't work :("
    end
  end

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

路线

  get "events"      => "events#index"
  get "events/new"  => "events#new"
  post "events"     => "events#create"

但是每次我提交时,参数都是空的:

我没有使用资源 :events 而是手动进行练习。为什么没有拾取参数?

【问题讨论】:

    标签: ruby-on-rails forms


    【解决方案1】:

    试试这个:

    params.require(:event).permit(:title, :date)
    

    【讨论】:

    猜你喜欢
    • 2013-05-22
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多