0

我遇到了一个我无法确定的问题,其他相关问题似乎从未遇到过这个问题。我有一个消息模型,我正在尝试添加一个消息(我写这个是为了用 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 的语言

4

1 回答 1

0

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

于 2013-08-20T15:15:21.427 回答