Tag: javascript

使用javascript_include_tag的Ruby On Rails错误

所以我的问题,从我所知,似乎是ruby没有加载它的所有javascript文件,因为我没有得到确认消息和link_to方法:: delete对我没有任何作用。 随着默认设置提供给我rails新 views / layouts / application.html.erb head section如下。 Myrubyblog true %> true%> 这给了我错误 Started GET “/posts” for 127.0.0.1 at 2015-02-27 02:14:57 -0600 ActiveRecord::SchemaMigration Load (0.0ms) SELECT “schema_migrations”.* FROM “schema_migrations” Processing by PostsController#index as HTML Post Load (1.0ms) SELECT “posts”.* FROM “posts” Rendered posts/index.html.erb within layouts/application (11.0ms) Completed 200 OK in 76ms (Views: 54.0ms […]

是否可以在rails 3.0中使用js.erb partial?

如果可能,我如何从另一个js.erb文件运行它? 试图让事情干涸! 编辑:说明:我在search / index.js.erb中有一个js.erb例程。 我想在location / index.js.erb中使用相同的例程。 因此,我想知道是否可以部分包含js.erb代码,这样我就不必将例程从第一个index.js.erb文件复制到另一个。

使用AJAX从Ruby on Rails服务器获取JSON内容

我有一些RoR的经验,不过,我是AJAX事务的新手。 我的目标是在不同的机器上运行HTML5 + JavaScript客户端和Ruby on Rails服务器(最终)。 我想要的是JavaScript客户端以JSON格式从服务器获取内容,然后进行解析。 我已经尝试了很多东西,比如添加一个“responseType”等,但是没有它们起作用。 我当前的JavaScript文件是这样的: $(document).ready(function() { var xmlhttp = new XMLHttpRequest(); xmlhttp.open(“GET”, “http://localhost:3000/contents”, true); xmlhttp.send(); alert(xmlhttp.responseText); }); 我的RoR应用程序有一个路径“/ contents”,它调用contents_controller.rb的索引函数,如下所示: def index @contents = Content.all.order(‘created_at DESC’) respond_to do |format| format.html # index.html.erb format.json { render json: @contents } end end AJAX甚至是正确的方法吗? 我有点迷茫。 非常感谢!

如何在Ruby on Rails应用程序中访问Javascript函数内的实例变量?

我有一个用于编辑个人资料的表单。 Rails自动生成表单id为’edit_profile _ ##’,其中##是当前用户的profile id(实例变量-@ profile_id)。 我需要将这个表单id用于我的javascript函数。 有没有办法在js中获取当前用户的个人资料ID? 或者有没有办法可以通过rails覆盖自动id生成?

在Rails 4中显示所选类别的子类别

1.在我使用的** view / gigs / new.html.erb中 它创造了这个 点击下图时: 根据您选择的类别,从上图中可以看到,只显示该类别拥有的子类别。 2.在我的gig控制器中,我可以编写下面的代码。 def update_sub_categories @cats = Subcategory.where(category_id: params[:category_id]).all respond_with(@cats) end 3.我必须在相同的文件夹视图/ gigs / update_sub_categories中创建一个文件并放入此代码 $(“#gig_subcategory_id”).empty().append(” “subcategory”, :collection => @cats, :as => :cat)) %>”) 也是同一文件夹中的部分视图/ ig / _subcategory.html.erb <option value="”> 4.添加App / javascript / gigs.js.coffee $(document).on ‘change’, ‘#gig_category_id’, (evt) -> $.ajax ‘update_sub_categories’, type: ‘GET’ dataType: ‘script’ data: { […]

如何使用AngularJS,Devise和UI路由器全局实现身份validation?

我对Angular很新,所以这可能是一个新手问题。 我正在尝试实现一个简单的任务管理器(只是一个练习),Rails作为后端,Angular作为前端。 到目前为止,我遵循了一个教程,一切正常。 现在我想全局实现身份validation。 这意味着:当用户未注册并登录时,她应该看到启动页面或登录页面。 我不想在每个Angular控制器中都这样做,因为DRY。 所以我认为UI路由器可能是一个好地方。 我有点怀疑可能$ httpProvider.interceptors可能有用。 这是我得到了多远。 我可以检查用户是否经过身份validation并阻止加载页面。 但仅此而已。 我怎么会离开这里? 我错过了哪些好的教程? Stackoverflow上的这个问题也有类似的方向,但由于他们没有使用Devise,因此无法解决我的问题。 谢谢! // app.js var app = angular.module(“TaskManager”, [‘ui.router’, ‘templates’, ‘Devise’]) .config([ ‘$stateProvider’, ‘$urlRouterProvider’, function($stateProvider, $urlRouterProvider){ $stateProvider .state(‘home’, { url: ‘/home’, templateUrl: ‘home/_home.html’, controller: ‘MainCtrl’, resolve: { projectPromise: [‘projects’, function(projects) { console.log($rootScope); return projects.getAll(); }] } }) .state(‘projects’, { url: ‘/projects/{id}’, […]

通过js.erb文件呈现Flash消息

在我的Rails应用程序中,我想将我的控制器方法delete_option ( questions_controller )中的flash消息呈现到questions文件夹本身内的部分_edit.html.erb 。 我有一个js文件delete_option.js.erb ,我可以使用下面的行成功地将编辑渲染到具有id edit_subquestion的div元素。 $(“#edit_subquestion”).html(” “edit”)) %>”); 我在_edit.html.erb放了一个div元素来渲染flash消息,如下所示。 我试图将方法delete_option的flash消息呈现给上面的div元素,如下所示。 if(().length > 0) $(“#flash_delete_option”).html(“<%= escape_javascript(render('’)) %>”); 我收到语法错误。 请帮忙解决这个问题。 一切都按照答案进行了尝试。 没有得到它。

在使用Jails时从Rails变量中转义引号?

尝试在javascript代码中使用rails变量时遇到问题。 例如,我可以定义一个link_to_remote,参数:complete => “alert(‘my_var’);” 如果my_var = “I’m testing.” ,然后由于单引号过早关闭代码,javascript代码将中断。 如果我尝试使用escape_javascript(my_var)以便引用变为\’ ,它似乎无法解决问题。 我注意到当你尝试alert(‘I\’m testing’); 有一个问题,但如果你做alert(‘I\\’m testing’) ,它就可以了。 由于escape_javascript只会变为’而不是\\’ ,有人建议如何处理这个问题吗? 谢谢! 埃里克

将数据从Rails视图传递到webpacker中的VueJS组件

我正在尝试使用Rails 5.1的新webpacker gem以及VueJS,但无法获取我的erb视图以将数据传递给VueJS组件…… 假设我有一个用户显示视图 # view/users/show.html.erb 而我的javascript: // app/javascript/packs/user-card.js require(“user-card”) // app/javascript/user-card/index.js import Vue from ‘vue/dist/vue.esm’ import UserCard from ‘./components/UserCard’ document.addEventListener(‘DOMContentLoaded’, () => { let element = document.getElementById(“user-card”) let username = element.dataset.username console.log(username); // => “pecpec” const app = new Vue({ el: element, template: ”, components: { UserCard }, data () { return { username […]

Rails + javascript – 上传前的图片预览

我想在上传之前显示图像预览,因为我使用下面给出的代码。 它适用于Firefox,但不适用于IE8 “preview-photo” %> “preview(this);” %> function preview(this) { document.getElementById(“preview-photo”).src = this.value; return; } 有没有解决方案在IE8和其他浏览器中预览图像?