我是rails开发的新手。这是我的第一个应用程序。而且我一直在努力。无论如何这是我的问题。我的modelname是PostIt,我的控制器是post_it_controller.rb
class PostItController < ApplicationController
def create
@user = User.find(params[:id])
@posts = Postit.create(params[:content])
@posts.receiver_id = params[:content][:receiver_id]
@posts.sender_id = current_user.id
end
在我看来,我在create.html.erb
中有这个<%= form_for(@posts) do |f| %>
<%= f.hidden_field :receiver_id, :value => @user %>
<%= f.label :content %>
<%= f.text_area :content, :class => 'inputbox' %>
<%= f.submit "Submit", :class => 'btn right' %>
<% end %>
我不断得到的错误是NilClass:Class
的未定义方法`model_name'答案 0 :(得分:1)
您的代码中有一些违反惯例的内容。
create
请求提交表单时,通常会调用POST
操作。new.html.erb
或edit.html.erb
。PostItsController
。话虽如此,我认为错误是由于@posts
为nil
。这可能是因为在错误的控制器操作中分配了@posts
,因此在响应呈现表单时根本没有分配。