簡體   English   中英

重命名Rails模型中的字段名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM