搜尋

首頁  >  問答  >  主體

ruby - 虛擬屬性的 屬性名= 方法不執行

user.rb 定義了 password 虛擬屬性

user.html.erb 定義了虛擬屬性表單

然而輸出了一下 password= 那個方法沒有執行....23333

請指教

巴扎黑巴扎黑2835 天前749

全部回覆(3)我來回復

  • 巴扎黑

    巴扎黑2017-04-24 09:11:50

    因為用了 ror 4.2 正確的做法是把你的 虛擬屬性加入到 :permit(:虛擬屬性名) 中

    回覆
    0
  • 阿神

    阿神2017-04-24 09:11:50

    我沒怎麼用過 erb,不過你確定模板裡會呼叫password=這個方法嗎?
    這種需求我習慣用 before_create 回調…

    另外這種事兒交給專業的去做吧。

    回覆
    0
  • 怪我咯

    怪我咯2017-04-24 09:11:50

    Ruby on Rails 不需要直接寫 attr_accessor.

    但需要使用到 strong-parameters,參考下面的寫法,把 password 加入 白名單中:
    http://edgeguides.rubyonrails.org/action_controller_overview.html#stro...

    回覆
    0
  • 取消回覆