【发布时间】:2013-08-15 08:50:03
【问题描述】:
这是我第一次遇到这个问题。
我有一个向控制器提交发布请求的视图,该控制器更新两个表。
def update
if request.post?
if @circuit
# update
@circuit.update_attributes params[:circuit]
@logical_interface = LogicalInterface.new params[:logical_interface]
@logical_interface.save
#redirect_to :action => 'update', :id => @circuit.id
@success = "Updated." if @circuit.valid?
else
# attempt create
end
end
end
这三行是我添加到控制器中的:
@logical_interface = LogicalInterface.new params[:logical_interface]
@logical_interface.save
redirect_to :action => 'update', :id => @circuit.id # this was added because the view wasn't being updated until refreshed
如果我保留重定向,视图将相应更新,但我在 @success 变量中没有收到 Updated. 消息。
如果我注释掉重定向,我表单顶部的 circuit 表单字段将更新,但不会更新我正在添加的 logical_interfaces 表,但我仍然会收到 Updated. 成功消息。一切都直接在视图中,不使用任何部分。
希望我已经正确解释了它,但如果有人不确定,那么我可以更新问题以更详细地说明。
表格只是:
<%= form_tag :controller => "circuit", :action => "update" %>
...
</form>
在表单中,我使用两个对象circuit 和logical_interface 来拆分输入,以便在控制器中更新circuit 并创建一个新的logical_interface。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-2