0

今私のコードでは content_for のように呼び出しています...

<% content_for :javascript do -%> <%= "var boxplot_data=#{@survey.boxplot_answers.to_json};" %> <% end -%>

配列全体を一度に変換するのではなく、配列 boxplot_data に追加してから、それを var として表示します。そうすれば、パーシャルでそのデータを使用する場所が、ビューに追加するために生成する場所の近くにないため、コードを読みやすくすることができます。

4

1 に答える 1

0

最良のアプローチはヘルパーを定義することだと思います:

def add_to_boxplot(val)
  @boxplot ||= []
  @boxplot << val
end

def json_boxplot
  "var boxplot_data = #{@boxplot.to_json}"
end

次に、ビューで使用するadd_to_boxplot代わりに、レイアウトで and をyield(:javascript)使用しますjson_boxplot

于 2010-05-17T19:41:14.490 に答える