-4

このコードは何をしますか?

このコードで collect を使用する目的は何ですか?

collect メソッドを使用しないとどうなりますか??

<%= select_tag(isTemplate ? '__template__time_entry[][project_id]' : 'time_entry[][project_id]', 
               options_for_select(@projects.collect{|p| [ p.name, p.id ] }, 
                                 :selected =>  entry.nil? ? 0 : entry.project_id), 
               :onchange => 'projectChanged(this,' + @row.to_s() + ')', 
               :style=> 'width:150px' ) %>

これを実行すると、「undefined method collect」というエラーが表示されます。Linuxでredmine0.8.2とrails2.0.2を使用しています。これは私のプラグインのコードの一部です。

4

1 に答える 1

3

このコードは、オプション付きの選択入力を表示します。

あなたのエラーはおそらく@projectsis nil と undefined によるものです。変数が nil であるのに、どちらが配列またはハッシュのメソッドであるかを収集しようとしています。

配列またはハッシュを使用してコントローラーで定義する必要がありますが、おそらく Project オブジェクトを含む配列を使用します。

于 2012-04-04T11:46:42.173 に答える