2016-12-12 14 views
0

resource_helper.rbのRails:ヘルパーメソッドの出力#の代わりに、正しい値

def show_checkbox resources 
    resources.each do |resource| 
     resource.name 
    end.join(' ').html_safe 
    end 

ビュー

<%= show_checkbox resource %> 

このコードは出力#、私は内部の値が正しいことを確信しています。しかし、それがなぜ出力されるのかわからない#

+0

実際にあなたを助けるためにここに十分な情報がありません。 'resource'の内容を見せてくれますか?もっと文脈かもしれない? –

答えて

2

resources.mapではなく、resources.eachを使用します。

eachは、ブロックの内容ではなく、反復処理中の値を返します。#<Resource:34531231>のようなものです。残りの部分はHTMLタグとして解釈され、#と表示されます。

mapはブロックの値を返し、必要に応じてResourceオブジェクトの配列を文字列名の配列に変換します。

+0

とてもきれいにしていただきありがとうございます –

関連する問題