gpt4 book ai didi

ruby-on-rails - 是什么导致Rails 3中出现422无法处理的实体错误?

转载 作者:行者123 更新时间:2023-12-03 11:40:22 25 4
gpt4 key购买 nike

这是来自日志文件的错误消息:

Started POST "/stages" for 127.0.0.1 at 2011-04-02 23:22:18 -0500
Processing by StagesController#create as JS
Parameters: {"utf8"=>"✓", "authenticity_token"=>"ob37MMciudHqAnNXFoeofWyVfLnrTxlHfncyDsZLpsI=", "stage"=>{"project_id"=>"3", "name"=>"First"}}

User Load (1.1ms) SELECT "users".* FROM "users" WHERE ("users"."id" = 1) LIMIT 1
#<User id: 1, email: "test@abc.com", encrypted_password: "$2a$10$qUbNGm6lZ366jRiE0vK0gOpxbGXD5JmfqWmH1lfLlCEC...", password_salt: "$2a$10$qUbNGm6lZ366jRiE0vK0gO", reset_password_token: nil, remember_token: nil, remember_created_at: nil, sign_in_count: 264, current_sign_in_at: "2011-04-03 04:12:24", last_sign_in_at: "2011-04-03 03:21:37", current_sign_in_ip: "127.0.0.1", last_sign_in_ip: "127.0.0.1", username: "test", f_name: "Test", l_name: "User", created_at: "2011-01-22 07:17:45", updated_at: "2011-04-03 04:12:24", invitation_token: nil, invitation_sent_at: nil, plan_id: 3, current_state: nil, confirmation_token: nil, confirmed_at: "2011-02-11 23:19:15", confirmation_sent_at: "2011-02-11 23:18:20">

Role Load (0.4ms) SELECT "roles".* FROM "roles" INNER JOIN "assignments" ON "roles".id = "assignments".role_id WHERE (("assignments".user_id = 1))
Completed 422 Unprocessable Entity in 302ms (Views: 0.2ms | ActiveRecord: 1.5ms)

有任何想法吗 ?

这是阶段中的新 Action 和创建 Action :
def new
@project = Project.new
respond_with(@project)
end

def create
#@project = current_user.projects.create(params[:project])
@project = current_user.projects.build(params[:project])
#@project.current_user = current_user
if @project.save
respond_with(@project, :status => :created, :location => @project) do |format|
flash.now[:notice] = 'Project was successfully created.'
format.html { redirect_to(@project) }
format.js { render :partial => "projects/show", :locals => {:project => @project}, :layout => false, :status => :created }
end
else
respond_with(@project.errors, :status => :unprocessable_entity) do |format|
format.js { render :json => @project.errors, :layout => false, :status => :unprocessable_entity }
format.html { render :action => "new" }
end
end
end

这是创建新阶段的部分形式:
<% stage ||= Stage.new 
new_stage = stage.new_record? %>
<%= form_for(stage, :html => { :class=>"ajax-form", :id => "stage-ajax-form"}, :remote => true, :disable_with => (new_stage ? "Adding..." : "Saving...")) do |f| %>
<%= f.hidden_field :project_id %>
<%#= f.hidden_field :client_id, :value => @project.client.id %>
<div class="validation-error" style="display:none"></div>
<label for="stage_name"><span class="icon stage-icon"> </span></label>
<input type="text" class="name" size="20" name="stage[name]" id="stage_name" value="<%= stage.name %>" >

<%= f.submit(new_stage ? "Add Stage" : "Save", :class => "green awesome") %>
<% end %>

最佳答案

原来是此行引起此错误:
@project = current_user.projects.build(params[:project])
我将build替换为create,现在所有工作正常。

关于ruby-on-rails - 是什么导致Rails 3中出现422无法处理的实体错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5527570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com