0
Rails新手在這裏。在Rails模型中重命名字段名稱
我有沒有控制權與評論表具有以下的列遺留sqlite3的數據庫:
ID - 主鍵
BOOK - 外鍵
TEXT - 含現場評論和圖書摘要
我有一個像下面一個Rails 3.2.1模型叫做評論(映射1-1書):
class Book < ActiveRecord::Base
has_many :datum, :foreign_key => "book"
has_one :comment, :foreign_key => "book"
@@basepath = "#{Rails.root}/public/share"
def get_filepath
return "#{@@basepath}/#{path}"
end
def get_summary
@comment.text
end
end
在我看來,我有這樣的事情:
<td><%= book.get_summary %></td>
但是,當我嘗試的頁面,我得到 未定義的方法'文本」的零:NilClass
貌似‘文本’是Rails中的保留字。我的猜測是,這是阻止鐵路正確評估它。
我對錯誤的解釋是否正確?如果是這樣,我怎麼能讓Rails給「文本」字段一個不同的名字,如「comment_text」?
非常感謝您的幫助。
P.S.我已經看過http://www.engineyard.com/blog/2011/using-datamapper-and-rails-with-legacy-schemas/,但我不確定我的問題是否與此類似。
這是偉大的。感謝您幫助新手。所以,@只是爲了變量的實例?我來自Java背景,期望關聯也是實例。 – Srini 2012-08-01 03:19:39
在模型中,是的@基本上創建了一個只在該實例內可訪問的實例變量。不是什麼,我經常做。在這裏看看更多的信息:http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Classes#Instance_Variables。如果你想在你的對象上創建沒有存儲在數據庫中的變量,通常你會使用'attr_accessor' – 2012-08-01 12:43:36