我有模特:想法,项目,产品。 我想在Idea的编辑视图中尝试通过Items添加产品。 我的edit.html.erb - 想法
<div id="items">
<%= render @idea.items %>
</div>
<div class="products">
<% @products.each do |p| %>
<%= p.title %><%= button_to '+', items_path(product_id: p.id, idea_id: @idea.id), remote: true %>
<% end %>
</div>
我的物品管理员:
def create
product = Product.friendly.find(params[:product_id])
@item = @idea.add_product(product.id)
respond_to do |format|
if @item.save
format.js
end
end
end
idea.rb
def add_product(product_id)
item = items.find_by(product_id: product_id)
if item
else
item = items.build(product_id: product_id)
end
item
end
我的&#34; create.js.erb&#34;
$('#items').html("<%= escape_javascript render(@idea.items) %>");
当我输入&#34; format.html {redirect_to:back}&#34;在def create(items_controller)中一切正常,但没有AJAX =(
日志
完成406在91毫秒内无法接受
ActionController :: UnknownFormat(ActionController :: UnknownFormat):
中
app / controllers / items_controller.rb:33:在'create&#39;
帮助我,伙计们。我用谷歌搜索了整个互联网
答案 0 :(得分:6)
对于那些仍然使用Google进行Google搜索的人......它帮我指定了默认值:=&gt; {format:&#39; js&#39;}用于routes.rb中的ajax操作。
post 'myaction' => 'mycontroller#myaction', defaults: { format: 'js' }