В настоящее время я использую методы response_with и reply_to. Мой файл управления выглядит следующим образом:response_with Неопределенный метод
class CommentsController < ApplicationController
respond_to :html, :js
def create
@post = Post.find(params[:post_id])
@comment = current_user.comments.build(comment_params)
@comment.post = @post
@comment.user = current_user
authorize @post
if @comment.save
flash[:notice] = "Comment was saved."
redirect_to [@post.topic, @post]
else
flash[:error] = "There was an error saving the comment. Please try again."
redirect_to [@post.topic, @post]
end
end
def destroy
@post = Post.find(params[:post_id])
@comment = @post.comments.find(params[:id])
authorize @comment
if @comment.destroy
flash[:notice] = "Comment was removed."
else
flash[:error] = "Comment couldn't be deleted. Try again."
end
end
respond_with(@comment) do |format|
format.html { redirect_to [post.topic, @post] }
end
private
def comment_params
params.require(:comment).permit(:body)
end
end
Я получаю сообщение об ошибке, «RoutingError: Неопределенный метод respond_with».
У меня googled «response_with», и в Rails Guides говорится, что мне нужен драгоценный камень, называемый «респонденты», что имеет смысл. Когда я пытаюсь это добавить, я сталкиваюсь с проблемами; по-видимому, «респондентам» нужен еще один драгоценный камень, «рельсы», для которых рельсы требуют другой версии этого драгоценного камня. Мои рельсы прекрасно работали без «рейндов», по крайней мере до сих пор.
Кто-нибудь знает, действительно ли мне нужны «респонденты», или что еще может вызвать мое сообщение об ошибке, или какую версию «railties» я должен установить, если таковая имеется?
Спасибо!
Драгоценный камень респондентов предназначен только для Rails 4.x, в какой версии Rails вы используете? –
Я использую рельсы 4.0.9. –
Тогда я не знаю, почему он жалуется на драгоценные камни, вы, вероятно, с тем или иным человеком, заблокированным в определенной версии вашего Gemfile.lock. –