【问题标题】:checking if a @variable.method exists?检查@variable.method 是否存在?
【发布时间】:2012-01-17 05:01:07
【问题描述】:

我正在使用数据映射器存储到数据库。迁移数据库后立即不存在任何方法,因为没有值

<input type="text" name="seed" value="<%= @seed.value unless @seed.respond_to(value)? %>"

【问题讨论】:

    标签: ruby sinatra datamapper


    【解决方案1】:

    我不太确定我是否听懂了你的问题,但它看起来像这样:

    @seed.value unless @seed.respond_to(value)?
    

    应该是这样的:

    @seed.value if @seed.respond_to?(:value)
    

    respond_to? 是方法的名称,所以把问号放在正确的位置。此外,您希望传递符号 :value 而不是变量/方法调用 value 作为参数。

    最后,应该是if,而不是unless

    【讨论】:

      【解决方案2】:

      您可能想要调试变量以查看它包含哪些信息(如果有)

      <%= debug @seed %>
      

      【讨论】:

      • 对不起,我没有使用 rails,这是标签的拼写错误
      猜你喜欢
      • 2015-10-18
      • 2018-09-10
      • 2011-05-09
      • 2012-10-15
      • 2018-08-22
      • 2013-01-12
      • 2012-01-22
      • 2013-06-18
      • 2012-05-17
      相关资源
      最近更新 更多