搜索

首页  >  问答  >  正文

ruby - 虚拟属性的 属性名= 方法不执行

user.rb 定义了 password 虚拟属性

user.html.erb 定义了虚拟属性表单

然而输出了一下 password= 那个方法没有执行....23333

请指教

巴扎黑巴扎黑2775 天前720

全部回复(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
  • 取消回复