1

私はRuby-on-Railsの初心者です。そして、私は非常に簡単な質問があります: これは私のビューファイルで動作します:

- @posts.each do |child|
    = child.name
end

ただし、配列を引数として受け取り、「each」で反復するヘルパー メソッドを作成することはできません。

私のビューファイルでは:

=f1(@posts)

私のヘルパーファイルでは:

def f1(abc)
    abc.each do |child|
            puts child.name
    end
end

このばかげた問題で私を助けてください。事前にどうもありがとう

4

2 に答える 2

1

このようなものは機能しますか?

def f1(abc)
  output = ''
  abc.each do |child|
    output << "<br/> #{child.name}"
  end
  output
end
于 2013-02-07T22:27:21.913 に答える
0

実行中の Rails アプリputsでは、ログ ファイルに出力されます。

このアプローチを試すことをお勧めします。

投稿ビュー ディレクトリに '_post' パーシャルを作成し、レンダリングしたいものをpostオブジェクトとして使用して配置し (例: post.name) render @posts、ビューで使用します。これにより、コレクション内の各オブジェクトのパーシャルが自動的にレンダリングされます。

詳細については、 Ruby on Rails Layouts and Rendering Guideのセクション 3.4.5 を参照してください。

于 2013-02-07T22:48:27.587 に答える