【发布时间】:2021-07-05 05:13:42
【问题描述】:
我是 Rails 的初学者。我有一个用户模型,它有一个名为名称的字段。将通过加入我从输入表单中获得的 first_name 和 last_name (name = "#{first_name} #{last_name}" 值来输入用户名。但是当我尝试编辑用户时,我正在拆分来自数据库的名称的值并将其显示在视图中。(name.split('').first for first_name 和 name.split('').last for the last_name from the users_helper。但这里的问题是,如果first_name 的值是 Veronica Roth 并且 last_name 是 Taylor 在视图中显示的值是 Veronica for first_name 和 Taylor for last_name 有没有有效的方法在编辑表单中显示 first_name 和 last_name 因为它是实际的 first_name 和 last_name无需向 DB 添加 first_name 和 last_name 列(名称已在 DB 中)。
user.rb
class User < ActiveRecord::Base
acts_as_paranoid
validates :email, format: { with: Devise.email_regexp }
attr_accessor :first_name, :last_name
end
users_helper.rb
module UsersHelper
def get_form_value(form_name, user)
form_value = ''
case form_name
when "first_name"
if user.present? and user.name.present?
form_value = user.name.split(" ").first
end
when "last_name"
if user.present? and user.name.present?
form_value = user.name.split(" ").last
end
end
end
【问题讨论】:
标签: string forms ruby-on-rails-4 input split