【问题标题】:'Template is missing' error in Rails 3.1 when trying to render尝试渲染时 Rails 3.1 中出现“模板丢失”错误
【发布时间】:2011-11-03 15:43:52
【问题描述】:

我正在尝试将 Ajax 与我的 CRUD 一起使用。我正在关注这个tutorial

我看到了这个错误:

Missing template posts/edit, application/edit with {:handlers=>[:erb, :builder, :coffee], :formats=>[:html], :locale=>[:en, :en]}. Searched in: * "/Users/wangstabill/Code/rails/ajax_on_rails/app/views"

当我尝试点击编辑链接时。它看起来像:

<%= link_to 'Edit', edit_post_path(post, remote: true) %>

现在,我在 app/views/posts/edit.js.erb 中有一个简单的 js.erb 文件。此文件不用于响应。查看上面的错误信息,:formats 键的值是只包含 :html 的数组。如果我创建了一个 edit.html.js,这可以正常工作,但不是 edit.js.erb 文件。

post 建议删除旧的 rails.js 文件,但我很确定我从未将它包含在这个简单的应用程序中(或者如果我包含在哪里可以找到它)。

这是我的控制器类的样子:

class PostsController < ApplicationController
    before_filter :load, :except => [:destroy, :create]

    def load
        @posts = Post.all
    end

    def index
        @post  = Post.new
    end

    def edit
        @post = Post.find(params[:id])
    end

    def create
        @post = Post.new(params[:post])
        if @post.save
            flash[:notice] = 'Post was successfully created.'
            load
        end
    end

    def update
        @post = Post.find(params[:id])
        if @post.update_attributes(params[:post])
            flash[:notice] = 'Post was successfully updated.'
        end
    end

    def destroy
        @post = Post.find(params[:id])
        @post.destroy
        flash[:notice] = 'Successfully destroyed post.'
        load
    end
end

我不明白为什么我的创建和销毁操作成功地响应了 js.erb 模板,但没有编辑。感谢您的帮助!

【问题讨论】:

    标签: jquery ruby-on-rails-3.1 rendering partial-views missing-template


    【解决方案1】:

    我相信remote 选项应该是link_to 的选项,而不是edit_post_path 的选项。尝试将其移到括号外:

    <%= link_to 'Edit', edit_post_path(post), remote: true %>
    

    【讨论】:

    • 太棒了,感谢您对 Dylan 的帮助。这解决了这个问题。你可以在my github查看代码!谢谢!
    • 酷!如果对您有帮助,请务必接受答案,否则人们以后不会花时间回答您的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多