我正在尝试为事件记录创建一个新的EventPlace。我在我的视图中将事件设置为accepts_nested_attributes_for:event_places和以下代码:
<div id="add_venue_form" style="border:2px solid black; padding: 5px;">
<% form_for @event, :html => {:name => "form2"} do |f| -%>
<% f.fields_for @event_place do |v| -%>
<%= v.text_field :place_id %>
<% end -%>
<a class="button" style="margin-left:10px;margin-top:4px;" href="javascript:document.form2.submit();" onclick="this.blur();"><span>Save</span></a>
<% end -%>
当我在字段中添加ID号并单击“保存”按钮时,它会显示以下错误:
Processing EventController#update (for 127.0.0.1 at 2012-05-24 15:43:39) [PUT]
Parameters: {"id"=>"48404", "action"=>"update", "controller"=>"event",
"_method"=>"put", "event"=>{"event_place"=>{"place_id"=>"3"}}}
SQL (0.1ms) SET NAMES UTF8
Redirected to http://localhost:3001/event/list
Filter chain halted as [#<Proc:0x00000001094746e0@/Users/anthonylassiter/.rbenv/versions/ree-1.8.7 2012.02/lib/ruby/gems/1.8/gems/actionpack-2.3.10/lib/action_controller/verification.rb:82>] rendered_or_redirected.
Completed in 8ms (DB: 0) | 302 Found [http://localhost/events/48404]
我的更新方法
def update
@event = Event.find(params[:id])
if @event.update_attributes(params[:event])
redirect_to index
end
end
看起来这些参数是正确的。它甚至没有在我的event_controller上点击我的更新方法,而是导致一些内部错误并尝试重定向到/ list不存在,但是如果Update正常工作我就不应该这样做。
答案 0 :(得分:1)
参数不正确,r event_places_attributes
必须在你的参数中...尝试@event.event_places.build
并在fields_for中使用:event_places
答案 1 :(得分:1)
您的控制器(或其中一个超类)中的某个位置使用verify
来限制可以发出的请求(或者您正在使用的插件可能称为验证)。记录的请求失败了其中一个验证步骤,因此rails改为重定向它。