如果带有表单字段的语句在rails中选择

时间:2010-03-24 02:47:26

标签: ruby-on-rails

我正在尝试将if语句直接放入rails中的select字段,但没有成功。

这是我尝试过的:

    <%= f.select (:book_id,{ 
    if @a!=1
            "Harry Potter", 1,
    end
    if @b!=2
            "Lord of the Rings", 2,
    end
    end %>`

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

不要这样做。这很丑陋,维护起来并不好玩。此外,没有好好尝试将if语句或哈希值以外的任何东西放在哈希声明中。帮助怎么样?

帮助程序代码(未经测试):

def book_select(f)
  options = {}
  options['Harry Potter'] = 1 unless @a == 1
  options['Lord of the Rings'] = 2 unless @b == 2
  f.select :book_id, options
end

查看代码:

<%= book_select(f) %>