2015-07-31 2 views
0

Я нахожусь на api.rubyonrails.org, пытаясь прочесть некоторые из этих помощников, чтобы создать форму, но я продолжаю получать ошибки, такие как undefined method 'merge'. К сожалению,eRuby - Понимание Rails API

number_field(object_name, method, options = {}) 
    Returns an input tag of type “number”. 

не очень помогает. У меня есть то, что object_name - это поле имени для сгенерированного ввода, но я нечеткий на том, что method, и options. Мне просто нужна серия ярлыков рядом с входами, где щелчок на ярлыке фокусирует вход, но все, что я могу получить, - это первый вход, ориентированный независимо от метки, которую вы нажимаете.

Синтаксис я использую:

<%= f.label :item_data, i.name %> <%= f.number_field :item_data %> 

i является элементом из each do. Я понимаю, что это даст им одноименное имя, я просто не знаю, что еще с этим делать.

+1

Можете ли вы показать синтаксис, который вы используете для создания number_field –

ответ

0

number_field - это метод, используемый для создания тега ввода html с типом «число». Object_name - это имя объекта вашей формы (скажем, например, item). Method - это имя фактического поля (например, cost). Options - это любые параметры, которые вы хотите передать в поле html, например, его отключить, только для чтения, давая тегу класс/id и т. Д. Если вы не проходите ни одного options, = {} означает, что он по умолчанию не имеет никаких параметров.

В сочетании с form_for, изменения синтаксиса к чему-то вроде этого:

<%= form_for @item do |f| %> 
    <%= f.number_field :cost, id: "sample", class: "example" %> 
<% end %> 

Посмотрите at this documentation для получения дополнительной информации о параметрах, которые можно пройти. Да, это другой синтаксис, но параметры будут одинаковыми.

+0

Кажется, что независимо от того, что входит в поле метода поля number_field, оно дает мне ошибку слияния. –

+0

Это должно быть поле, которое находится в вашей модели/миграции. Поэтому, если вы пытаетесь поставить «стоимость» там, и в вашей миграции нет поля «затраты», это приведет к возникновению ошибки. –

+0

Откуда берутся 'id:' и 'class:'? Являются ли эти дополнительные части хэша вариантов? Не совсем уверен, где такие вещи происходят, поскольку это не входит в список api для этого метода. –