2014-12-31 2 views
0

У меня возникли проблемы с формой здесь. Root view - это webapp # home, с формой внизу, чтобы добавить новое имя таблицы/таблицы. Проблема в том, что я получил ошибку ниже.Переменные экземпляра. Новые и отсутствующие_методы

NoMethodError в TablesController # создать неопределенный метод `таблицы» для

   def create 
@table = Table.new(table_params) 
if @table.save 
    redirect_to '/'  else 
     render('new') 

Трассировка указывает, что существует missing_method для "@ table.save". Я предполагаю, что форма как-то породила нулевое значение, но я понятия не имею, почему это так = /. Спасибо заранее, и счастливый 2015!

Controller (Webapp)

def home 
    @tables = Table.all 
    @table = Table.new 
    end 

Код, используемый для формы:

<div class="new-table-form"><%= form_for @table do |f| %><p>Table name: <%= f.text_field :table_name %>&nbsp<%= f.submit %><% end %></p></div> 

контроллера (таблицы)

def create 
    @table = Table.new(table_params) 
    if @table.save 
     redirect_to '/' 
    else 
     render('new') 
    end 
+0

Ваш бедный форматирование делает это тяжелее, чем это должно быть ... –

ответ

2

в создании действия вам необходимо:

@table = Table.create(table_params) 

не

@table = Table.new(table_params) 
+0

Оказывается, что была допущена ошибка в проверяющего: table_name в модели в дополнение к сказанному выше, но это помогло, а также , Благодаря! – Corrax