【问题标题】:what does this rails code do?这个rails代码有什么作用?
【发布时间】:2012-04-04 11:00:56
【问题描述】:

这段代码会做什么?

在这段代码中使用 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' ) %>

当我执行此操作时,会显示错误“未定义的方法收集”。 我在 linux 上使用 redmine0.8.2 和 rails2.0.2。这是我的一个插件中的一些代码。

【问题讨论】:

    标签: ruby-on-rails redmine


    【解决方案1】:

    此代码显示带有选项的选择输入。

    您的错误可能是由于 @projects 为 nil 且未定义。您尝试收集哪个是 Array 或 Hash 的方法,而您的变量是 nil。

    您必须在控制器中使用数组或哈希定义它,但可能使用包含项目对象的数组。

    【讨论】:

      猜你喜欢
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-31
      • 2014-07-30
      • 1970-01-01
      相关资源
      最近更新 更多