#ruby-on-rails #ruby-on-rails-3
#ruby-on-rails #ruby-on-rails-3
Вопрос:
У меня есть контроллер, подобный этому:
def index
respond_to do |format|
format.html {}
format.js {render :layout => false}
end
end
index.html.erb
hello i"m index.html.erb
index.js.erb
<%= render :template => "dashboard/index" %>
Что я хочу сделать, так это иметь index.html или index.js верните то же самое. Но я не вижу, как это сделать, не сделав index.html.erb частичным (_index.html.erb), но затем, когда пользователь выполняет html-вызов, который не будет работать.
Как я могу заставить index.js.erb отображать index.html.erb? который я бы затем экранировал с помощью jQuery. Спасибо
Ответ №1:
Попробуйте:
<%= raw render(:template => "dashboard/index").to_json %>
Комментарии:
1. По сути, это просто то, что вы хотите: преобразование HTML-представления в js.
Ответ №2:
В моем приложении есть этот код для этого:
<%= escape_javascript(render :file => "/posts/index.html.erb") %>
Не уверен, что это «правильный» способ, но он определенно работает.