Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3教程第11章HTML不显示跟随/取消跟随按钮_Ruby On Rails_Ruby On Rails 3_Railstutorial.org - Fatal编程技术网

Ruby on rails Rails 3教程第11章HTML不显示跟随/取消跟随按钮

Ruby on rails Rails 3教程第11章HTML不显示跟随/取消跟随按钮,ruby-on-rails,ruby-on-rails-3,railstutorial.org,Ruby On Rails,Ruby On Rails 3,Railstutorial.org,这是我的show.html.erb文件 <% provide(:title, @user.name) %> <div class="row"> <aside class="span4"> <section> <h1> <%= gravatar_for @user %> <%= @user.name %>

这是我的show.html.erb文件

<% provide(:title, @user.name) %>
<div class="row">
    <aside class="span4">
        <section>
            <h1>
                <%= gravatar_for @user %>
                <%= @user.name %>
            </h1>
        </section>
        <section>
            <%= render 'shared/stats' %>
        </section>
    </aside>
    <div class="span8">
        <%= render 'follow_form' if signed_in? %>
    <% if @user.microposts.any? %>
      <h3>Microposts (<%= @user.microposts.count %>)</h3>
      <ol class="microposts">
        <%= render @microposts %>
      </ol>
      <%= will_paginate @microposts %>
    <% end %>
  </div>
</div>
_follow.html.erb部分文件:

<%= form_for(current_user.relationships.build(followed_id: @user.id),
             remote: true) do |f| %>
  <div><%= f.hidden_field :followed_id %></div>
  <%= f.submit "Follow", class: "btn btn-large btn-primary" %>
<% end %>
<%= form_for(current_user.relationships.find_by_followed_id(@user),
             html: { method: :delete },
             remote: true) do |f| %>
  <%= f.submit "Unfollow", class: "btn btn-large" %>
<% end %>
_unfollow.html.erb部分文件:

<%= form_for(current_user.relationships.build(followed_id: @user.id),
             remote: true) do |f| %>
  <div><%= f.hidden_field :followed_id %></div>
  <%= f.submit "Follow", class: "btn btn-large btn-primary" %>
<% end %>
<%= form_for(current_user.relationships.find_by_followed_id(@user),
             html: { method: :delete },
             remote: true) do |f| %>
  <%= f.submit "Unfollow", class: "btn btn-large" %>
<% end %>
和my_follow_form.html.erb partial:

<% unless current_user?(@user) %>
  <div id="follow_form">
  <% if current_user.following?(@user) %>
    <%= render 'unfollow' %>
  <% else %>
    <%= render 'follow' %>
  <% end %>
  </div>
<% end %>
编辑:我还想说我正在使用引导。当我检查用户页面时,两个类span4和span8都出现了,但是在follow_表单应该出现的地方有一个完全的空白


编辑:这个问题在几年前就得到了回答:

我遇到了同样的问题,您可以通过执行以下更改来纠正这个问题:

第一步 In-app/views/users/show.html.erb 从以下位置更改代码:

<div class = "span8">
    <%= render 'follow_form' if signed_in? %>      
        <% if @user.microposts.any? %>
为此:

<div class = "span8">
    <%= render 'shared/follow_form' if signed_in? %>      
        <% if @user.microposts.any? %>
步骤2 在部分app/views/shared/_follow_form.html.erb中

从以下位置更改代码:

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

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

你确定你已经登录了吗?您是否尝试过删除已登录的if_?在show.html.erb中,Hartl让您在编写代码之前先编写测试。你的测试通过了吗?另外,如果你还在做Rails教程,并且假设你还在看这个问题,那么你很可能正在将你的代码签入Github,那么你想提供一个到你的repo的链接,这样人们就可以自己运行你的测试了吗?这没有意义。如果部分不在共享目录中,而仅在用户目录中,则这将导致应用程序崩溃。事实上,我也有同样的问题,还没有弄清楚为什么会发生这种情况。