以下是用户显示他们应该出现的视图。 ..
编辑(我稍微更新了这篇文章,你可以在RoR: How can I get my microposts to show up?看到它)
<section>
<div id= "purchases">
<%= render 'shared/micropost_form_purchase' %>
</div>
<div id="sales">
<%= render 'shared/micropost_form_sale' %>
</div>
</section>
<div id="purchases list">
<ol class="microposts">
<%= render @purchases unless @purchases.nil? %>
</ol>
</div>
<div id="sales list">
<ol class="microposts">
<%= render @sales unless @sales.nil? %>
</ol>
</div>
所以表格(部分)加载正常,但是当我发帖时,在任何一个中,购买清单和销售清单都不会显示。我检查了数据库,并且正在创建它们以及列中的条目,表示种类(销售或购买)
以下是表格:
<%= form_for (@micropost) do |f| %>
<div class="field no-indent">
<%= f.text_area :content, placeholder: "What's something else you want to buy?" %>
<%= hidden_field_tag 'micropost[kind]', "purchase" %>
</div>
<%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>
和
<%= form_for (@micropost) do |f| %>
<div class="field no-indent">
<%= f.text_area :content, placeholder: "What's something else you want to buy?" %>
<%= hidden_field_tag 'micropost[kind]', "sale" %>
</div>
<%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>
另外,这是users_controller.rb的显示部分
def show
@user = User.find(params[:id])
@micropost=Micropost.new
@microposts = @user.microposts.paginate(page: params[:page])
end
,这是microposts_controller.rb的显示部分
def show
@micropost = Micropost.find(params[:id])
@microposts = Micropost.where(:user_id => @user.id)
@purchases = @microposts.where(:kind => "purchase")
@sales = @microposts.where(:kind => "sale")
end
任何人都可以帮助我吗?我还需要什么?嗯
答案 0 :(得分:1)
首先,为了确保您获得所需的结果,您应该在视图中尝试这样的事情
<%= @sales %>
这应该是您想要的结果的哈希值。然后,如果看起来不错,你想做这样的事情
<div id="sales_list">
<ol class="microposts">
<% if @sales.any? %>
<% @sales.each do |sale| %>
<li><%= sale %></li>
<% end %>
<% end %>
</ol>
</div>
重复购买