Поиск:

Ответ в темуСоздание новой темы Создание опроса
> метод in_place_editor_field, не вызывается метод контроллера 
:(
    Опции темы
Blake
Дата 8.4.2009, 03:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 9.1.2008

Репутация: нет
Всего: нет



Всем доброй ночи!

Я пытаюсь использовать метод in_place_editor_field . Но при редактировании данных, сами данные не изменяются. Пробывал найти ошибку, проблема в том, что не вызывается метод контроллера (он существует), который должен обрабатывать данные из post запроса. Вот, что выводит консоль:

Цитата

127.0.0.1 - - [08/Apr/2009:02:20:39 EEST] "POST /admin/set_song_lyrics/6 HTTP/1.1" 422 9800
http://localhost:3000/admin/show_song/6 -> /admin/set_song_lyrics/6


PM MAIL   Вверх
source777
Дата 8.4.2009, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



Ну а ты в контроллер объявление in_place_edit_for добавил?


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Blake
Дата 8.4.2009, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 9.1.2008

Репутация: нет
Всего: нет



Да, добавлял.
Пробывал и вручную создавать метод set_song_lyrics, он просто не вызывается почему-то((
PM MAIL   Вверх
source777
Дата 8.4.2009, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



Погоди, а почему song, а не admin? Ты что нужный контроллер в опциях in_place_editor_field не указал?  smile 


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Blake
Дата 8.4.2009, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 9.1.2008

Репутация: нет
Всего: нет



Цитата

Погоди, а почему song, а не admin?

Потому что модель называется Song.

Цитата

Ты что нужный контроллер в опциях in_place_editor_field не указал?

По умолчанию идёт обращение к текущему контроллеру, то есть к admin.
PM MAIL   Вверх
Blake
Дата 9.4.2009, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 9.1.2008

Репутация: нет
Всего: нет



В логе у меня такое сообщение

Цитата

ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
    /vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb:86:in `verify_authenticity_token'
    /vendor/rails/activesupport/lib/active_support/callbacks.rb:173:in `send'
    /vendor/rails/activesupport/lib/active_support/callbacks.rb:173:in `evaluate_method'
    /vendor/rails/activesupport/lib/active_support/callbacks.rb:161:in `call'
    /vendor/rails/actionpack/lib/action_controller/filters.rb:430:in `call'
    /vendor/rails/actionpack/lib/action_controller/filters.rb:592:in `run_before_filters'
    /vendor/rails/actionpack/lib/action_controller/filters.rb:578:in `call_filters'
    /vendor/rails/actionpack/lib/action_controller/filters.rb:573:in `perform_action_without_benchmark'
    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
    /usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
    /vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
    /vendor/rails/actionpack/lib/action_controller/rescue.rb:201:in `perform_action_without_caching'
    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action'
    /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
    /vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'
    /vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action'
    /vendor/rails/actionpack/lib/action_controller/base.rb:529:in `send'
    /vendor/rails/actionpack/lib/action_controller/base.rb:529:in `process_without_filters'
    /vendor/rails/actionpack/lib/action_controller/filters.rb:569:in `process_without_session_management_support'
    /vendor/rails/actionpack/lib/action_controller/session_management.rb:130:in `process'
    /vendor/rails/actionpack/lib/action_controller/base.rb:389:in `process'
    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:149:in `handle_request'
    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:107:in `dispatch'
    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in `synchronize'
    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in `dispatch'
    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi'
    /vendor/rails/actionpack/lib/action_controller/dispatcher.rb:35:in `dispatch'
    /vendor/rails/railties/lib/webrick_server.rb:112:in `handle_dispatch'
    /vendor/rails/railties/lib/webrick_server.rb:78:in `service'
    /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
    /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
    /usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
    /usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
    /usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
    /usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
    /usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
    /usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
    /usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
    /usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
    /vendor/rails/railties/lib/webrick_server.rb:62:in `dispatch'
    /vendor/rails/railties/lib/commands/servers/webrick.rb:66
    /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
    /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require'
    /vendor/rails/activesupport/lib/active_support/dependencies.rb:509:in `require'
    /vendor/rails/activesupport/lib/active_support/dependencies.rb:354:in `new_constants_in'
    /vendor/rails/activesupport/lib/active_support/dependencies.rb:509:in `require'
    /vendor/rails/railties/lib/commands/server.rb:39
    /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
    /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require'
    script/server:3


Сопоставил это со статьёй:
http://weblog.rubyonrails.org/2009/2/28/xs..._editing-plugin

Но так и не понял, что надо сделать, чтобы приложение работало((((
PM MAIL   Вверх
source777
Дата 9.4.2009, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



Цитата(Blake @  8.4.2009,  23:14 Найти цитируемый пост)
По умолчанию идёт обращение к текущему контроллеру, то есть к admin. 

А тебе надо к SongsController обращаться, чтобы работало...




--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Blake
Дата 9.4.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 9.1.2008

Репутация: нет
Всего: нет



То есть, чтобы изменять данные таким методом, мне для каждой модели нужно создавать отдельный контроллер?
PM MAIL   Вверх
source777
Дата 9.4.2009, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



Ну не то, чтобы обязательно, настроить всегда можно под нестандартные нужды...
А у тебя что все модели одним контроллером обрабатываются?  smile 


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Blake
Дата 9.4.2009, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 9.1.2008

Репутация: нет
Всего: нет



Ну... у меня ведь не готовое приложение.. Я просто пока балуюсь, учусьsmile
Загадка остаётся всё равно.. почему это не работает?

Кто-нибудь может, плз, попробывать работу этого метода, и выложить пример(файл контроллера и вида) здесь с указанием версиии Rails?
Буду очень благодаренsmile
PM MAIL   Вверх
source777
Дата 10.4.2009, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



Цитата(Blake @  9.4.2009,  23:24 Найти цитируемый пост)
Ну... у меня ведь не готовое приложение.. Я просто пока балуюсь, учусьsmile

Ну раз балуешься, то отключи request_forgery_protection и балуйся дальше.


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Blake
Дата 10.4.2009, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 9.1.2008

Репутация: нет
Всего: нет



Э-э-э... подскажи пожалуйста, что это такое и как  его отключить..
PM MAIL   Вверх
source777
Дата 11.4.2009, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 12
Всего: 56



Это один из механизмов защиты от CSRF атак(русское описание), пока ты не пишешь популярных веб-приложений с группами пользователей, тебе эта штука не нужна. Чтобы отключить, закомментируй строку, начинающуюся с protect_from_forgery в ApplicationController


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Blake
Дата 12.4.2009, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 9.1.2008

Репутация: нет
Всего: нет



Вау) Работает!
Спасибо большое!!!
PM MAIL   Вверх
Blake
Дата 13.4.2009, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 9.1.2008

Репутация: нет
Всего: нет



Недавно на англоязычном форуме подсказали установить плагин in_place_editing отсюда:
http://github.com/rails/in_place_editing/tree/master
Теперь плагин работает с protect_from_forgery smilesmilesmile
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby on Rails"
source777
  • С чего начать? начинаем
  • Документацию смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby On Rails | Следующая тема »


 




[ Время генерации скрипта: 0.0508 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.