2011-12-10 148 views
2

我正在使用datamapper存储到数据库。该数据库将被迁移后没有方法存在,因为没有价值检查@ variable.method是否存在?

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

回答

7

我不太清楚我按照你的问题,但它看起来像这样:

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

应该是这样的:

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

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

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

+0

优秀!我是一个白痴,我不相信我做到了这一点...... – Tallboy

0

你可能要调试的变量,看看什么样的信息(如果有的话),它持有

<%= debug @seed %> 
+0

对不起,即时通讯不使用导轨,这是一个错误的标签 – Tallboy

+0

b!没有雪茄:( – jamiethepiper