【问题标题】:Rails: Text field as regular textRails:文本字段作为常规文本
【发布时间】:2013-12-05 10:14:45
【问题描述】:

我只想显示一个文本字段而不使其可编辑。我知道有“只读”或“禁用”,但有没有办法让我将文本字段显示为常规文本?

<%= f.text_field :attr %>

编辑以澄清事情:

<% form_for(my_form) do |f| %>
    <%= f.text_field :attr %>
    // How would I print my :attr as regular text?
<% end %>

关闭

我决定坚持输入字段,只使用一些 CSS

我正在尝试做的事情:我有 3 个嵌套字段(在我的 t.string :color 下有一个名为 my_colors -> blue、red、green 的表),并且对于每个“my_color”,我都有一个 t.integer:数量。由于这些嵌套字段是预先构建的,我不希望用户编辑颜色,但我仍然想在不使用 readonly 或 disabled 的情况下显示它。

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    您能否更清楚地描述您正在尝试做的事情?例如,您有一个表单,这意味着在您的数据库中创建一个新对象。通常,Rails 中的表单与相关控制器的创建操作相关联。

    如果你只想显示一个已经创建的项目的属性,你可以这样做:

    (我的示例使用 Post):

    app/views/posts/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
    

    【讨论】:

    • 我刚决定使用一些 CSS 但谢谢。至于我在做什么:我有 3 个嵌套字段(一个名为 my_colors 的表 -> 在我的 t.string :color 下的蓝色、红色、绿色),并且对于每个“my_color”,我都有一个 t.integer :amount。由于这些嵌套字段是预先构建的,我不希望用户编辑color,但我仍然想在不使用只读或禁用的情况下显示它。
    【解决方案2】:

    &lt;p&gt;&lt;/p&gt; 是您所需要的。

    【讨论】:

    • 这个答案似乎是正确的,至少在您提出问题时,如果您希望解析来自实例变量的文本,您应该使用&lt;%= @your_var %&gt;
    【解决方案3】:

    我决定坚持使用输入字段,只使用一些 CSS

    我正在尝试做的事情:我有 3 个嵌套字段(在我的 t.string :color 下有一个名为 my_colors -> blue、red、green 的表),并且对于每个“my_color”,我都有一个 t.integer:数量。由于这些嵌套字段是预先构建的,我不希望用户编辑颜色,但我仍然想在不使用 readonly 或 disabled 的情况下显示它。

    【讨论】:

      猜你喜欢
      • 2020-01-02
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多