首页 文章

使用带有Rails的jQuery时出现“模板丢失”错误

提问于
浏览
1

我正在尝试使用编辑帐户页面中的“添加用户头像”链接向用户 Profiles 添加头像 .

这是avatars_controller.rb:

def new
  @avatar = Avatar.new

  respond_to do |format|
    format.html # new.html.erb
    format.xml  { render :xml => @avatar }
    format.js
  end
end

def create
  @avatar = @user.avatars.create(params[:avatar])
  respond_to do |format|
    if @avatar.save
      format.html { redirect_to(edit_account_path, :notice => 'Avatar was successfully created.') }
      format.xml  { render :xml => @avatar, :status => :created, :location => @avatar }
      format.js
    else
      format.html { render :action => "new" }
      format.xml  { render :xml => @avatar.errors, :status => :unprocessable_entity }
      format.js
    end
  end
 end

这是我的链接:

<%= link_to "add a new avatar", new_avatar_path%>

路线:

resources :avatars
resources :users do
  resources :avatars
end

意见/化身/ create.js.erb:

alert('whoaaa!!!')

我正在使用rails 3.0.9并获得:

Template is missing

缺少模板头像/新的{:handlers => [:erb,:rjs,:builder,:rhtml,:rxml],:formats => [:html],:locale => [:en,:en]}在视图路径“/ home / ugur / rails_projects / deneme / app / views”,“/ home / ugur / rails_projects / deneme / app / views”,“/ home / ugur / rails_projects / deneme / flag_promotions / app / views”, “/home/ugur/.rvm/gems/ruby-1.9.2-p180/gems/spree-0.60.1/app/views”,“/ home /ugur / .rvm / gems / ruby-1.9.2-p180 /gems/spree_sample-0.60.1/app/views“,”/ home /ugur/.rvm/gems/ruby-1.9.2-p180/gems/spree_promo-0.60.1/app/views“,”/ home / ugur / .rvm / gems / ruby-1.9.2-p180 / gems / spree_dash-0.60.1 / app / views“,”/ home /ugur/.rvm/gems/ruby-1.9.2-p180/gems/spree_api -0.60.1 / app / views“,”/ home /ugur / .rvm / gems / ruby-1.9.2-p180 / gems / spree_auth-0.60.1 / app / views“,”/ home /ugur / .rvm /gems/ruby-1.9.2-p180/gems/devise-1.3.3/app/views“,”/ home /ugur / .rvm / gems / ruby-1.9.2-p180 / gems / spree_core-0.60.1 /应用/视图”

我快要疯了 . 请帮忙 .

1 回答

  • 2

    您正在调用 edit 操作并希望呈现 create 模板 . 这才是重点 .

    鉴于你的输出,我猜 edit 动作正在渲染不存在的 new.js.erb 模板 .


    更改:

    <%= link_to "add a new avatar", new_avatar_path%>
    

    有:

    <%= link_to "add a new avatar", new_avatar_path, :remote => true %>
    

    要实际发出ajax请求 .


    我在这里承诺:https://github.com/apneadiving/avatars/commit/f88ebf3f65e2ad88176cd28f09fd9dc91448cb98

    它适用于网址 /avatars

相关问题