这是对我有用的代码片段
用户模型
class User < ActiveRecord::Base
def full_name
[first_name,last_name].join(" ")
end
def full_name=(name)
split = name.split(" ",2)
self.first_name = split.first
self.last_name = split.last
end
end
然后这里是视图文件
显示文件
<h1>
<%= @user.full_name %>
</h1>
编辑文件
<div class="field">
<%= f.label :full_name %><br />
<%= f.text_field :full_name %>
</div>
这对我来说非常好。
我读过attr_accessor 的工作方式与
def full_name
[first_name,last_name].join(" ")
end
def full_name=(name)
split = name.split(" ",2)
self.first_name = split.first
self.last_name = split.last
end
所以我试着像
class User < ActiveRecord::Base
attr_accessor :full_name
end
我无法弄清楚还应该做什么。
提交表单时,既不会在显示页面中显示完整名称,也不会在数据库中更新相同名称。