【问题标题】:Partial not being found Rails部分未找到 Rails
【发布时间】:2012-10-22 16:17:50
【问题描述】:

我正在按照 Michael Hartl 的书将一些以下功能添加到我的应用程序中,当我尝试在我的关注和取消关注按钮上使用 AJAX 时,我在尝试更改呈现的按钮时收到这些错误:

Completed 500 Internal Server Error in 81ms

ActionView::MissingTemplate (Missing template users/follow_user, application/follow_user with {:locale=>[:en], :formats=>[:js, :html], :handlers=>[:erb, :builder, :coffee]}. Searched in:
  * "/Users/hugo/Web Development/Rails/sample/app/views"
  * "/Users/hugo/.rvm/gems/ruby-1.9.2-p318/gems/kaminari-0.13.0/app/views"
  * "/Users/hugo/.rvm/gems/ruby-1.9.2-p318/gems/devise-2.0.4/app/views"
):
  app/controllers/users_controller.rb:73:in `follow_user'
  lib/ct_gems/dm-core-1.2.0/lib/dm-core.rb:263:in `block in repository'
  lib/ct_gems/dm-core-1.2.0/lib/dm-core/repository.rb:114:in `scope'
  lib/ct_gems/dm-core-1.2.0/lib/dm-core.rb:263:in `repository'


  Rendered /Users/hugo/.rvm/gems/ruby-1.9.2-p318/gems/actionpack-3.2.3/lib/action_dispatch/middleware/templates/rescues/missing_template.erb within rescues/layout (0.5ms)

这是我控制器中的代码:

def follow_user
    @other_user = User.get(params[:user_id].to_i)
    current_user.follow(@other_user)

    respond_to do |format|
      format.html {redirect_to user_profile_path(@other_user)}
      format.js
    end
  end

这是我的表格...不是表格,而是跟随功能的链接:

<% unless current_user == @user %>
  <div id="follow_form">
  <% if current_user.following?(@user) %>
    <%= render 'users/unfollow' %>
  <% else %>
    <%= render 'users/follow' %>
  <% end %>
  </div>
<% end %>

这是我要渲染的部分之一:

<%= link_to "Follow", user_follow_user_path(@user), :class => "btn btn-primary", :style => "margin-bottom:20px;", :remote => true %>

这是渲染右侧按钮的文件,我正在使用此代码我的迈克尔的书:

$("#follow_form").html("<%= escape_javascript(render('users/unfollow')) %>")

但是我得到了上面的错误,我的部分没有找到;谁能向我解释为什么?谢谢

【问题讨论】:

    标签: javascript ruby-on-rails ajax erb


    【解决方案1】:

    这是说它正在尝试渲染一个模板,根据我的经验,该模板是 views/ 文件夹中的一个文件,名称前没有下划线。将下划线添加到文件名的开头并渲染 :partial => 'users/follow' 看看是否有帮助

    【讨论】:

      【解决方案2】:

      我的阅读不好,问题是我的 javascript 文件的命名。该名称必须与您的控制器操作相匹配。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-03
        • 1970-01-01
        • 2021-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多