[英]Rename field name in Rails model
Rails新手在這里。
我有一個舊版sqlite3數據庫,無法通過帶有以下列的Comments表來控制它:
ID-主鍵
預訂-外鍵
TEXT-包含評論和書籍摘要的字段
我有一個名為Comment(用Book映射1-1)的Rails 3.2.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>
但是,當我嘗試頁面時,我得到了nil:NilClass的未定義方法'text'
看起來“文本”是Rails中的保留字。 我的猜測是,這阻止了rails對其進行正確評估。
我對錯誤的解釋正確嗎? 如果是這樣,我如何讓Rails為“文本”字段賦予一個不同的名稱,例如“ comment_text”?
非常感謝您的提前幫助。
PS:我已經看過http://www.engineyard.com/blog/2011/using-datamapper-and-rails-with-legacy-schemas/ ,但是我不確定我的問題是否與此類似。
改變這個:
def get_summary
@comment.text
end
對此:
def get_summary
comment.text
end
@comment
在此模型中沒有意義...您正在訪問關聯,它是comment
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.