我有一个数据库查询,它返回一个包含地址的变量。
@terminal_address = Terminal.find(:all, :select => :full_address ,:conditions => ["id = ?" , params[:id]])
当我将其传递@terminal_address
给我的地理编码代码时,由于数据的传递方式而出错。如果我用引号中的地址替换变量,它工作正常。如何从变量中提取字符串?
这非常令人沮丧!
我有一个数据库查询,它返回一个包含地址的变量。
@terminal_address = Terminal.find(:all, :select => :full_address ,:conditions => ["id = ?" , params[:id]])
当我将其传递@terminal_address
给我的地理编码代码时,由于数据的传递方式而出错。如果我用引号中的地址替换变量,它工作正常。如何从变量中提取字符串?
这非常令人沮丧!
@terminal_address = Terminal.find(:first, :conditions => ["id = ?" , params[:id]]).full_address
这应该有效。
你做错了什么:
呃,为什么不只是:
Terminal.find_by_id!(params[:id], :select => :full_address).full_address
当找不到 id 时,这将引发错误。
@terminal_address
是类的一个实例Terminal
。因此,您将需要获取包含地址信息的该类的属性。在这种情况下,该字段似乎被命名为 'full_address' 所以类似于:
Terminal.find(:first, :conditions => ["id = ?" , params[:id]]).full_address
应该返回完整的地址字符串