0
我有两个控制器杂志和文章,文章是杂志的嵌套路线。当我在/magazines/show
我有一个基本的形式。当此提交它被送往文章控制器创建一个文章AJAX渲染搞乱了我的路线
<%= form_for @article, :url => magazine_articles_path(@magazine), remote: true do |f| %>
<%= render 'shared/error_messages', target: @article %>
<%= f.text_field :name %>
<%= f.submit %>
<% end %>
。在文章控制器I渲染重新渲染这种形式的行动(我重新描绘的形式摆脱错误的,如果有的话)
$('#id').html('<%= escape_javascript render partial: 'create_article' %>');
然而,这改变了形式的行动/magazines/:id/articles
,而不是/magazines/:id
初始形态:
重新描绘后<form id="new_article" class="new_article" method="post" data-remote="true" action="/magazines/1/articles" accept-charset="UTF-8">
形式:
<form id="edit_article_3" class="edit_article" method="post" data-remote="true" action="/magazines/1/articles" accept-charset="UTF-8">
这打乱了我的路由和给我的路由错误,如果我尝试再次提交此表。我猜这是发生,因为新的@article
来自物品管理员。有关这种情况的更多细节以及干净利索的解决方案将非常感谢。谢谢一堆!
在两种情况下呈现相同的形式? – nathanvda
@nathanvda是相同的代码(相同的部分)正在呈现,但轨道正在改变生成的HTML,我编辑我的问题,包括这个 – Steve