2016-04-29 2 views
0

Я хочу вызвать функцию контроллера с ajax, которая отлично работает, проблема в генерации объекта.Rails создать объект с параметром - без необходимости

Я стараюсь это так:

@tag = Tag.new params[:tagname] 
@tag.save 

Но таким образом я получил ошибку 500 назад

Если я это

@tag = Tag.new params.permit[:tagname] 
@tag.save 

что «работает», но в базе данных столбец тэг Null ...

В чем проблема?

Что я могу сделать, чтобы исправить это?

ответ

2

Если я понимаю, что вы здесь делаете, ваша проблема в том, что вы передаете строку в Tag#new. Однако, если вы не изменили класс Tag, вы на самом деле нужно сделать что-то вроде:

Tag.new name => params[:tagname]

То есть, «новый» не принимает строку (опять же, если вы не изменили его) это берет Хеш.

+0

Спасибо за хэш-подсказку ;) – Felix

0

Правильное решение

@tag = Tag.new 
@tag.tagname = params[:tagname] 

Thaks для подсказки с хэш проблемы;)

1

Вы можете сделать это в одном операторе, используя create

Tag.create(tagname: params[:tagname])

Смежные вопросы