Если у меня есть модель с именем Клиент и контроллер, которая выглядит следующим образом
class ClientController < ApplicationController
def new
@client = Client.new
@client.name = "New Guy"
end
end
и я использую HAML, как должен выглядеть мой вид для визуализации формы, основанной на этом.
У меня есть
%p= @client.name
-form_for :client, @client do |c|
c.label :c.name
c.text_field :c.name
но мой HTML выглядит так
<p>New Guy</p>
<form accept-charset="UTF-8" action="/client/new" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="authenticity_token" type="hidden" value="orGtE1V05QIaye5kSsAi5SBdEAV0AJX9uZYUzHw5P64=" /></div>
c.label :c.name
c.text_field :c.name
</form>
Обновление:
Спасибо за ответы. когда я меняю вид на
%p= @client.name
-form_for :client, @client do |c|
= c.label :c.name
= c.text_field :c.name
Я получаю следующую ошибку
undefined method `name' for :c:Symbol
Extracted source (around line #3):
1: %p= @client.name
2: -form_for :client, @client do |c|
3: = c.label :c.name
4: = c.text_field :c.name
Если я закомментирую строки 2,3 и 4, имя печатается нормально. Чего мне не хватает?
Обновление 2:
Если я изменю вид на
%p= @client.name
-form_for :client, @client do |c|
c.label :name
c.text_field :name
больше ошибок нет. Спасибо.