У меня есть приложение, в котором я хочу предупредить людей, если они создают дубликат author
. У меня установлен фильтр before_action
для метода create
, который выглядит следующим образом:
def check_for_duplicates
@duplicates = Author.where(first_name: @new_author.first_name, last_name: @new_author.last_name)
if @duplicates.count != 0
## THE NEXT LINE IS WHAT I NEED TO FIGURE OUT ##
data: {confirm: "You already have an author with this name. Are you sure you want to create another one?"}
end
end
В настоящее время я получаю следующую ошибку сервера:
SyntaxError - syntax error, unexpected ':', expecting keyword_end
data: {confirm: "You already have ...
^
/Users/lizbayardelle/Code/MMR/app/controllers/authors_controller.rb:80: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '('
...irect_to authors_path, notice "Sorry, you don't have permiss...
... ^:
app/controllers/authors_controller.rb:73:in `'
Однако это ожидается, потому что я знаю, что эта строка не так, как вы это делаете. Я не могу сделать это с помощью link_to
, потому что сначала я должен проверить, не является ли он дубликатом.
Я проверил другие вопросы SO (например, this ), и все кажется включает в себя довольно сложное решение на странице javascript.
Есть ли удобный способ сделать это внутри контроллера?