3

ブログを作成しました。そして、私が投稿を追加するときはいつでも、次のように、投稿インデックスページ(home.html.erb)の下部に表示されるデータベースからのレコードのリストが常にあります:

[#<Post id: 1, title: "hahaha", content: "Because the gravatar_for method is undefined, the u...", public: true, created_at: "2013-03-18 04:00:17", updated_at: "2013-03-18 04:01:09">] 

削除しようとしまし<%= will_paginate @posts %>たが、機能しません。

これが私のhome.html.erb

<%= @posts.each do |post| %>
<article class="posts">
    <h2><%= link_to post.title, post_path(post) %></h1>
    <h3><%= post.public %></h3>
    <p><%= truncate markdown(post.content), length: 400, omission: " ......" %></p>
    <span class="continue"><%= link_to "... Continue Reading ...", post_path(post) %></span>
</article>
<% end %>
<%= will_paginate @posts %>

必要な場合に備えて、これが私のGemfileです。

source 'https://rubygems.org'

gem 'rails', '3.2.12'
gem 'pg'
gem 'redcarpet'
gem 'will_paginate'
gem 'redcarpet'
gem 'coderay'

group :development, :test do
  gem 'rspec'
  gem 'rspec-rails'
  gem 'faker' 
end

group :test do
  gem 'capybara'
  gem 'factory_girl_rails'
end

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

gem 'bcrypt-ruby', '~> 3.0.0'

これは奇妙な状況です。だから私は何が起こったのか知りたいですか?

ありがとうございました!

4

2 に答える 2

4

テンプレートファイルを-から変更します

<%= @posts.each do |post| %>
<article class="posts">
  <h2><%= link_to post.title, post_path(post) %></h1>
  <h3><%= post.public %></h3>
  <p><%= truncate markdown(post.content), length: 400, omission: " ......" %></p>
  <span class="continue"><%= link_to "... Continue Reading ...", post_path(post) %></span>  
  </article>
  <% end %>
<%= will_paginate @posts %>

に -

<% @posts.each do |post| %>
  <article class="posts">
  <h2><%= link_to post.title, post_path(post) %></h1>
  <h3><%= post.public %></h3>
  <p><%= truncate markdown(post.content), length: 400, omission: " ......" %></p>
  <span class="continue"><%= link_to "... Continue Reading ...", post_path(post) %>  </span>
 </article>
<% end %>

<%= @ posts.each do |post|を使用しているために表示されます <%@ posts.each do | post |の代わりに%> %>。<%=%>はリターンを出力しますが、<%%>は出力しません

于 2013-03-18T04:29:46.247 に答える
4

これを変更する必要があります:

<%= @posts.each do |post| %>

これに:

<% @posts.each do |post| %>

出力を HTML に追加する<%=ように指示しているため、配列が表示されています。

于 2013-03-18T04:27:38.903 に答える