Rails

在Mac上查找(并杀死)进程锁定端口3000

妖精的绣舞 提交于 2019-12-06 22:02:32
如何找到(并杀死)侦听/使用我的TCP端口的进程? 我在Mac OS X上。 有时,在崩溃或某些错误之后,我的Rails应用程序锁定了端口3000。我无法使用ps -ef找到它。 做的时候 rails server 我懂了 地址已在使用中-bind(2)(Errno :: EADDRINUSE) 2014年更新: 要完成以下一些答案:执行kill命令之后,可能有必要删除pid文件 rm ~/mypath/myrailsapp/tmp/pids/server.pid #1楼 lsof -P | grep ':3000' | awk '{print $2}' 这只会给您在MacOS上测试过的pid。 #2楼 以上对我没有任何帮助。 有我经验的任何人都可以尝试以下操作(为我工作): 跑: lsof -i :3000 (where 3000 is your current port in use) 然后检查报告的PID的状态: ps ax | grep <PID> 最后,“随它去”: kill -QUIT <PID> #3楼 在 .bash_profile ,创建一个 terminate 3000进程的快捷方式: terminate(){ lsof -P | grep ':3000' | awk '{print $2}' | xargs kill -9 } 然后,如果被阻止,则调用

Ubuntu Ruby On Rails

荒凉一梦 提交于 2019-12-06 19:26:55
Ruby安装 官网 sudo apt-get install ruby-full Installers If the version of Ruby provided by your system or package manager is out of date, a newer one can be installed using a third-party installer. Some of them also allow you to install multiple versions on the same system 第三方工具允许你安装多个不同版本的ruby,如RubyInstaller RailsInstaller and Ruby Stack If you are installing Ruby in order to use Ruby on Rails, you can use the following installers RailsInstaller 支持OS X和Windows 和 Bitnami Ruby Stack 支持OS X、Linux和Windows RVM (“Ruby Version Manager”) RVM allows you to install and manage multiple installations of Ruby

rails中的Controller Specific Assets

半城伤御伤魂 提交于 2019-12-06 18:55:23
默认下,pipeline就是加载一个大的application.js和application.css,这里最大的一个问题是,打开一个页面,不管要不要,都得把所有的js和css都加载,我感觉这很不妥,不说文件个头较大,还有可能出现冲突。所以我认为每个页面只要加载公共的js和css 及 这个页面所需的js和css即可,其实在guide中提到了一个方法,就是 Controller Specific Assets ,但是只是简单的交代了一下,该怎搞,如下: 首先,改造application.js和application.css,将require_tree去掉,只明确地加载需要的公共文件。 第二,改造layouts/application.html.erb <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> <%= javascript_include_tag params[:controller] %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> <%= stylesheet_link_tag params[:controller] %> 第三

用 Webpack 和 ES6 转换快速开发 Rails 的富客户端

梦想与她 提交于 2019-12-06 18:55:08
Fast Rich Client Rails Development With Webpack and the ES6 Transpiler 有更好的方式把 JavaScript 生态引入 Rails。 你有没有: 想知道是否有更好的方式在现有 Ruby on Rails 工程下使用现代 JavaScript 客户端框架? 烦恼怎样整合那些被打包成"模块"的 JavaScript 库和例子? 发现在全局命名空间下乱挂垃圾的弊端。 听说过 ES6 (又叫 Harmony),下一代 JavaScript,现在正被那些硅谷大牛逼正在用得热火朝天(Facebook, Instagram, Square, 之类的)? 那你应该怎么在你的 Rails 工程中,实现以下这些呢: 你的 UI 原型,如果发现 JS 和 CSS/Sass 代码发生了变化,当保存的时候,立刻反应到界面,而无需重载页面。 成为 Node 生态 中的一等公民,只需要在 package.json 指定依赖,然后执行 npm install ,然后就可以在 JavaScript 文件里面很容易的就导入模块。 无缝集成基于 Node 的 JavaScript assets 到 Rails 的 Asset Pipeline, 无需规避 asset pipeline,而是让它共存,并能利用它。 无缝集成 node 客户端生态到现存的

Ruby on Rails Asset Tag Helpers

橙三吉。 提交于 2019-12-06 18:51:45
翻译并摘自 http://guides.rubyonrails.org/layouts_and_rendering.html Asset tag helpers provide methods for generating HTML that link views to feeds, JavaScript, stylesheets, images, videos and audios. auto_discovery_link_tag javascript_include_tag stylesheet_link_tag image_tag video_tag audio_tag javascript_include_tag 早期的Rails,js目录在public/javascripts目录,使用了Asset Pipeline之后,js目录在/assets/javascripts。 <%= javascript_include_tag "main" %> rails输出为 <script src='/public/javascripts/main.js'></script> 注:如果是Asset Pipeline,rails输出则为<script src='/assets/javascripts/main.js'></script> <%= javascript_include

rails new APP出错的解决方法

江枫思渺然 提交于 2019-12-06 16:58:47
运行 rails new APP 的时候,经常会卡住,或者出现类似以下的提示 Gem::RemoteFetcher::FetchError: Errno::EINVAL: Invalid argument - setsockopt(2) (https://rubygems.org/gems/json-1.8.3.gem) An error occurred while installing json (1.8.3), and Bundler cannot continue. Make sure that `gem install json -v '1.8.3'` succeeds before bundling. run bundle exec spring binstub --all bundler: command not found: spring Install missing gem executables with `bundle install` 换上淘宝源还是不能解决,只好按照提示手动安装缺失的gem包。 这是因为rails创建的Gemfile里指定被墙了的Rubygems作为源。 解决方法: 首先,用 rails new APP --skip-bundle 创建项目,这样创建完成后就不会自动运行 bundle install 了。 然后,修改新项目的Gemfile

Ruby on Rails where query with nesting relations

风流意气都作罢 提交于 2019-12-06 16:42:30
I learned how to use where query with relations from this question. Ruby on Rails where query with relations However, I still can't make it right with this nesting case. How can I make Summaries controllers index work? Model User has_many :projects, dependent: :destroy has_many :reasons, through: :projects has_many :summaries, through: :projects, source: :reasons has_many :entries, through: :projects Project belongs_to :user has_many :reasons has_many :entries, through: :reasons Reasons belongs_to :project has_many :entries, dependent: :destroy has_many :summaries, dependent: :destroy Summary

use mixin and autoload_paths vs eager_load_paths

我只是一个虾纸丫 提交于 2019-12-06 15:18:37
Greg Yang Developer Taipei, Taiwan 108 POSTS 35 TAGS 若要查看是否有载入请在 rails c 输入这行 ActiveSupport::Dependencies.autoload_paths OR Rails.application.config.assets.paths 即可 > rails c > ActiveSupport::Dependencies.autoload_paths [ [ 0] "/Users/app/assets", [ 1] "/Users/app/channels", [ 2] "/Users/app/controllers", [ 3] "/Users/app/controllers/concerns", [ 4] "/Users/app/helpers", [ 5] "/Users/app/jobs", [ 6] "/Users/app/mailers", [ 7] "/Users/app/models", [ 8] "/Users/app/models/concerns", [ 9] "/Users/app/uploaders", 我们需要的是载入这行 -> [10] "/Users/lib/modules", [11] "/Users/.rvm/gems/ruby-2.3.1/gems

部署gitlab并汉化

大憨熊 提交于 2019-12-06 12:45:42
一.gitlab简介 gitlab是一个用于仓库管理系统的开源项目。使用git作为代码管理工具,并在此基础上搭建起来的web服务。可通过web界面进行访问公开的或者私人的项目。它拥有与github类似的功能,能够浏览源代码,管理源代码缺陷和注释。可以管理团队对仓库的访问,它非常易于为浏览器提交过的版本提供一个文件历史库。团队成员可以利用内置的简单聊天程序(wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。 二.gitlab安装 1.下载任意版本的gitlab的rpm包 官方地址: https://about.gitlab.com/ 推荐下面的地址下载:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm这里使用的是gitlab-ce-12.3.5版本,你可以根据自己的需求下载。 [root@git ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm 2.安装gitlab [root@git ~]# yum -y localinstall gitlab-ce-12.3.5-ce.0.el7

如何异步上传文件?

一个人想着一个人 提交于 2019-12-06 07:52:11
我想用jQuery异步上传文件。 这是我的HTML: <span>File</span> <input type="file" id="file" name="file" size="10"/> <input id="uploadbutton" type="button" value="Upload"/> 这是我的jQuery代码: $(document).ready(function () { $("#uploadbutton").click(function () { var filename = $("#file").val(); $.ajax({ type: "POST", url: "addFile.do", enctype: 'multipart/form-data', data: { file: filename }, success: function () { alert("Data Uploaded: "); } }); }); }); 我只获取文件名,而不是上传文件。 我该怎么做才能解决此问题? #1楼 我已经在Rails环境中编写了此代码 。 如果您使用轻量级的jQuery-form插件,则仅包含五行JavaScript。 挑战在于如何使AJAX上传工作,因为标准 remote_form_for 无法理解多部分表单提交。