【发布时间】:2020-05-06 22:08:05
【问题描述】:
作为背景,我正在使用带有 Devise gem 的 Ruby on Rails。用户属性之一是一个名为 bio 的字符串。我的目标是让个人资料页面在只读文本框中显示简历。我觉得文本框显示的线条给人一种很好的美感。我也在使用引导程序。
页面控制器:
def profile
user=User.all
respond_to do |format|
format.html { render :profile, locals: { user: user } }
end
end
我的 profile.html.erb 的代码
<div class="row">
<div class="col-5">
<%= current_user.text_area :bio, readonly: true %>%
</div>
我得到的错误是 Pages#profile 中的 NoMethodError - 未定义的方法 `text_area'
【问题讨论】:
-
text_area 不是用户的属性,是表单的属性。使用这个
<%= f.text_area :bio, readonly: true %> -
@Naveed 它返回一个错误:ActionView::Template::Error (undefined local variable or method `f'
-
我认为你没有在表单中使用它,在这种情况下使用这个语法
<%= text_area_tag :bio, current_user.bio, readonly: true %>
标签: html ruby-on-rails devise