0

我正在将一个rfid值传递给一个表单以创建一个新device对象。如何使用该值来查看现有列表,rfid以便用户可以从中选择一个options_from_collection_for_select

这是传递值的代码:

<%= link_to "Create New Device (non-functional)", new_device_path({:rfids[0] => @rfid_id, cabinet_id: @cabinet.id}), :class => "btn btn-primary" %>

以下是我开始编写表单中的代码:

<th>RFID</th>
            <td><%= f.text_field :rfids, options_from_collection_for_select(Rfid.all, "id", ) %></td>

谢谢。

4

1 回答 1

0

看起来好像您正在将一个值作为参数传递给new_device_path,并且您希望使用该值来构造该操作呈现的表单。

为了做到这一点,您需要向您的操作方法添加一些代码(DevicesController#new如果您使用的是 Rails 默认设置,则为 。否则,无论操作new_device_path指向什么)。它可能会使用这种通用形式:

def new
  @passed_value = params[:param_name]
end

所有这一切都是将传递的值存储在实例变量中,但这意味着您将能够以操作呈现的形式引用它:

options_from_collection_for_select(Rfid.all, :id, :id, @passed_value)
于 2013-03-14T15:27:58.300 回答