无法在Rails 3.2上获取AJAX窗体部分工作

我正在尝试使用AJAX呈现窗体。非ajax版本可以正常工作,但是ajaxified版本不会。指向它的链接位于index.html.erb中。 WEBrick服务器显示:无法在Rails 3.2上获取AJAX窗体部分工作

发起者GET “/类别/ 3/new_sub” 为127.0.0.1在二○一二年十一月一十九日17点19分27秒-0500
处理由CategoriesController#new_sub如JS
参数:{ “id”=>“3”}
类别加载(0.1ms)SELECT“categories”。* FROM“categories”WHERE“categories”。“id”=? LIMIT 1 [[ “ID”, “3”]]
渲染类别/ _form.html.erb(为1.8ms)
渲染类别/ new_sub.js.erb(3.6ms)
完成200 OK中的8ms(浏览:6.3ms | ActiveRecord的:为0.1ms)

这里是我的类别控制器:

# GET /categories 

# GET /categories.json

def index

@categories = Category.roots

respond_to do |format|

format.html # index.html.erb

format.json { render json: @categories }

end

end

# GET /categories/1/new_sub.html

# GET /categories/1/new_sub.js

def new_sub

@parent = Category.find(params[:id])

@category = Category.new

respond_to do |format|

format.html

format.js

end

end

index.html.erb:

<h1>Listing categories</h1> 

<%= recurse_categories(@categories) %>

<br />

<%= link_to 'New Category', new_category_path %>

recurse_categories帮手:

def recurse_categories(cats) 

s = "<ul>"

cats.each do |cat|

s << "<li id=\"#{cat.id}\">#{link_to cat.name, new_sub_category_path(cat), remote: true}</li>"

if cat.has_children?

s << recurse_categories(cat.children)

end

end

s << "</ul>"

s.html_safe

end

new_sub.js.erb:

$('ul').after(<%= render partial: "form", locals: { parent: @parent, category: @category } %>); 

_form.html.erb:

<%= form_for(category) do |f| %> 

<div class="field">

<%= f.text_field :name %>

<%= f.hidden_field :ancestry, value: "#{parent.ancestry + '/' + parent.id.to_s}" %>

<%= f.submit "Create subcategory" %>

</div>

<% end %>

回答:

你的 “UL” 标签下的分类错误的条件块。您确定要在“error_explanation”div中附加您的回复吗?

你可以有一个跨度标签和new_sub.js.erb

<div class="field"> 

<span id="subcat"/>

<%= f.text_field :name %>

<%= f.hidden_field :ancestry, value: "#{parent.ancestry + '/' + parent.id.to_s}" %>

<%= f.submit "Create subcategory" %>

回答:

固定它使用它!我只是忘记了jquery选择器和参数DUH!

以上是 无法在Rails 3.2上获取AJAX窗体部分工作 的全部内容, 来源链接: utcz.com/qa/261212.html

回到顶部