【问题标题】:Strong Parameters Issue - Undefined Method "model" for <Model>强参数问题 - <Model> 的未定义方法“模型”
【发布时间】:2013-08-22 16:01:20
【问题描述】:

我遇到了一个我无法确定的问题,其他相关问题似乎从未遇到过这个问题。我有一个消息模型,我正在尝试添加一个消息(我写这个是为了用 Faye 测试一些东西)。我遇到了 Rails 4 和强参数的问题。我按照文档中的步骤进行修复,但出现此错误:

NoMethodError: #Message:0x007fc081202968 的未定义方法“消息”>

这是我的控制器和文档的部分,它指导您以这种方式执行强参数 (http://guides.rubyonrails.org/action_controller_overview.html#strong-parameters):

class MessagesController < ApplicationController
  def index
    @messages = Message.all
  end

  def create
    @message = Message.create!(message_params)
  end

  private

  def message_params  
    params.require(:message).permit(:content)
  end

end

这是我的模型,此时非常简单:

class Message < ActiveRecord::Base

  validates_presence_of :message

end

这是我提交的表单:

  <%= form_for Message.new, remote: true do |f| %>
    <%= f.text_field :content %>
    <%= f.submit "Post" %>
  <% end %>

我无法弄清楚在消息模型上调用“消息”方法的位置。它说它在创建操作中,我去那里并链接到强参数私有方法。我看不出这是如何将“消息”称为任何地方的方法。我很茫然。我做了 binding.pry 并一步一步地遍历它,但我找不到它在那里调用它的地方,当我使用 binding.pry 单步执行时它仍然失败。

任何帮助将不胜感激。我猜我在这一点上忽略了一些明显的事情。

编辑:添加文档链接并更改围绕我使用 binding.pry 的语言

【问题讨论】:

    标签: ruby-on-rails-4 strong-parameters


    【解决方案1】:

    发现了问题,而且很明显也很可笑。在验证中,我输入了 :content 字段是 :message。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      相关资源
      最近更新 更多