我只想显示一个文本字段而不使其可编辑。我知道有'只读'或'禁用',但有没有办法让我只将文本字段显示为常规文本?
<%= f.text_field :attr %>
编辑以澄清事情:
<% form_for(my_form) do |f| %>
<%= f.text_field :attr %>
// How would I print my :attr as regular text?
<% end %>
我想做的事情:我有3个嵌套字段(一个名为my_colors的表 - &gt;蓝色,红色,绿色在我的t.string:颜色下),对于每个“my_color”,我有一个t.integer :量。由于这些嵌套字段是预先构建的,我不希望用户编辑颜色,但我仍然希望在不使用readonly或禁用的情况下显示它。
答案 0 :(得分:1)
你能描述一下你试图做得更清楚一些吗?例如,您有一个表单,意味着在数据库中创建一个新对象。通常,Rails中的表单与相关控制器的创建操作相关联。
如果您只想显示已创建项目的属性,可以执行以下操作:
(我的例子使用帖子):
应用程序/视图/帖/ show.html.erb
<p> This post's attributes are: <%= @post.attr %></p>
<p> This post's id is: <%= @post.id %></p>
然后在你的posts_controller.rb中:
def show
@post = Post.find(params[:id]
end
答案 1 :(得分:0)
您需要<p></p>
。
答案 2 :(得分:0)
我决定坚持输入字段,只使用一些CSS
我想做的事情:我有3个嵌套字段(一个名为my_colors的表 - &gt;蓝色,红色,绿色在我的t.string:颜色下),对于每个“my_color”,我有一个t.integer :量。由于这些嵌套字段是预先构建的,我不希望用户编辑颜色,但我仍然希望在不使用readonly或禁用的情况下显示它。