2015-11-14 3 views
0

Итак, у меня есть этот html.erb и этот контроллер (показано ниже). Чего я хочу, если simple_captcha.valid? для увеличения отчетов, сохранения и закрытия текущей вкладки. Я хочу сделать это от контроллера, если это возможно! (А также, было бы хорошей практикой?)Rails 4 Закрыть текущую вкладку контроллера

Я видел несколько примеров этого, сделанного на странице просмотра, используя javascript, но я ничего не знаю о javascript и, если возможно, я хотел бы иметь дело с ним на контроллере , Но, если мне действительно нужно изучить javascript для достижения того, чего я хочу, в каком направлении я должен взять?

#view (html.erb) 
<h4>To report, complete captcha</h4> 
<%= show_simple_captcha %> 
<%= button_to "report post", create_report_post_path(@forum_post.id) %> 
----------------------------------- 
#controller 
def new_report_post 
    @forum_post = ForumPost.find(params[:id]) 
end 

def create_report_post 
    @forum_post = ForumPost.find(params[:id]) 
    if simple_captcha_valid? 
     @forum_post.reports += 1 
     @forum_post.save 
     redirect_to ??? 
     flash[:success] = "Mandou ver." 
    else 
     redirect_to report_post_path 
     flash[:warning] = "Captcha inválido." 
    end 
end 
+0

Да, «Redirect_to ???» где решение должно быть реализовано. –

ответ

0

Я не думаю, что вы можете закрыть вкладку, если только эта вкладка не была явно открыта javascript. Вы можете обратиться к этому вопросу: link

Если, однако, вы открываете представление, используя javascript. вы можете отправить window.close(), используя представление js.erb.

Вместо redirect_to, это было бы что-то вроде

respond_to do |format| 
     format.js { render "js_erb_view" } 
    end 

Внутри файла вида js.erb, вы можете отправить window.close() Это будет работать только если вы отправляете запрос Ajax. Одно из возможных решений для этой работы:

+0

Прохладный, вот что я хотел: D Хорошо, я попробую это позже, сегодня, и если это сработает, я приму ответ;) Но, можете ли вы также показать мне, как открыть его с помощью javascript? Я действительно полностью игнорирую его использование: P –

+0

В HTML New Report

+0

Все прошло отлично! Благодаря! –

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