强参数问题 - <model> </model>的未定义方法“模型”

时间:2013-08-20 14:35:47

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

我遇到了一个我无法确定的问题,其他相关问题似乎也没有遇到过这个问题。我有一个Message模型,我正在尝试添加一条消息(我正在写这个用Faye测试一下)。我遇到了Rails 4和强参数的问题。我按照文档中的步骤来修复它,但是我收到了这个错误:

NoMethodError:#Message的未定义方法`message':0x007fc081202968&gt;

这是我的控制器和文档部分,它指示您以这种方式执行强参数(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 %>

我无法弄清楚在消息模型上调用方法“message”的位置。它说它在创建动作中,我去那里它链接到强参数私有方法。我不知道那是怎么称呼“消息”作为任何地方的方法。我很茫然。我做了binding.pry并逐步完成它,但我无法找到它在那里调用它的地方,当我逐步使用binding.pry时它仍然失败。

任何帮助将不胜感激。我猜这是显而易见的,我现在忽略了这一点。

编辑:添加文档链接并更改使用binding.pry

的语言

1 个答案:

答案 0 :(得分:0)

发现问题,这显然是荒谬的。在验证中我把:content字段是:message。