Ruby On Rails 3 - Форма - Получить вложенные данные, которые каким-то образом связаны с формой? - PullRequest
0 голосов
/ 22 июня 2011

У меня есть форма с категорией, именем, размером, ценой и URL.

Первые 3 уже заполнены, и вы не сможете изменить эти данные.

Теперь я хочу отображать имена вместо category_id, name, size_id в поле ввода.Как мне это сделать?

Самое близкое, что я получил до сих пор, - это создание "select" ввода с @ size.map | s | .... но это не хорошее решение.Я не хочу, чтобы пользователь мог изменять эти данные, поэтому я думаю, что скрытое поле - лучшее решение?Но я хочу показать им информацию о категории, имени и размере.

            <%= f.fields_for :price do |pr| %>
            <tr>
              <td><%= pr.hidden_field :product_id %> <%= Here I want some code showing the name of the product %></td>
              <td><%= pr.text_field :price %></td>
              <td><%= pr.text_field :url %></td>
              <td><%= pr.check_box :_destroy %></td>
            </tr>
        <% end %>

На мой взгляд, у меня есть

@size     = ProductSize.all

@products = Product.all

@categories = Category.all

Ответы [ 2 ]

0 голосов
/ 07 ноября 2012
<%= Here I want some code showing the name of the product %>

сейчас

<%= pr.object.name %>

примечание «объект» не представляет чего-либо. просто используйте как набрано

0 голосов
/ 22 июня 2011

Я не уверен, что полностью понимаю, как работает ваш контроллер, но независимо от того, вы сможете получить продукт, размер и категорию. Вы, вероятно, уже получили их, если смогли установить их идентификаторы. В вашем контроллере просто установите переменную product, size и category.

Итак, в вашем контроллере:

@category = YourCategory
@product = YourProduct
@size = YourSize

Тогда в вашей форме где-то вы можете просто сделать что-то вроде:

<%=h @category.name %>
...