1

我试图从本表中的说明中理解:

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_select

我的目标是使选择菜单比默认宽度更宽。

我有这个表单输入:

<%= f.input :trl, label: false do %>
        <%= f.select :trl_id, Trl.all.map { |t| [t.try(:title), t.try(:id)] },
                include_blank: false,
                prompt: 'Select one',
                input_html: { "width: 200px" }
                %>
        <% end %>

目前,选择下拉菜单的默认宽度 html 非常小。我试图让选择接受宽度的 html 属性。

我已经尝试了上述大约 50 种不同的排列。我找不到可行的方法。

从简单形式的说明中,我被定向到上述链接中的说明。那些告诉我输入表单字段的结构应该遵循这种格式:

collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {}) 

据我所知,我认为我需要与此示例中一样多的逗号分隔字段。所以一共是7个。这是一个假设,因为我无法判断您是否只是跳过我不想使用的那些或做其他事情来表明该特定字段没有条目。根据这个假设,我有:

<%= f.input :trl, label: false do %>
        <%= f.collection_select(:trl_id, Trl.all.map { |t| [t.try(:title), t.try(:id)] },
                include_blank: false,
                prompt: 'Select one',
                html_options = { width: 200px })
                %>
        <% end %>

这给了我一个错误,上面写着:

syntax error, unexpected tIDENTIFIER, expecting '}'
                html_options: { width: 200px })
                                            ^

我找不到 tIDENTIFIER 是什么意思的英文翻译。大多数引用该术语的堆栈溢出问题通常表明语法有问题。

我很挣扎,因为我一开始就无法理解 apidock 的说明。我是否需要在此过程中添加更多空白字段?如果我这样做,我是否只需连续写两个逗号来表示空白字段?

api 停靠示例中有 7 个字段。我认为我的尝试缺少值方法和文本方法的内容。我不知道如何向 Rails 表明我没有任何内容。API 坞站中的示例均未指示空白字段,因此我认为少于 7 个字段应该是可以接受的。

我也不确定在哪里可以搜索 tIDENTIFIER 的定义。该术语中可能有一条我无法访问的线索,因为我找不到该术语的含义。

任何人都可以帮忙吗?

4

0 回答 0