典型情况可能是:
$ tmux
[0] $ ssh example.com
$ tmux attach
[0] $
Run Code Online (Sandbox Code Playgroud)
我打开一个tmux会话,然后ssh到服务器并附加到现有的tmux会话.此时我在另一个内部有一个tmux会话.如何将命令发送到内部tmux会话?
注意:两个tmux会话都具有相同的键绑定.
当rake
我运行任何任务时,我得到:
NoMethodError:未定义的方法`last_comment'for
之后bundle update
推出了新版本的rake版本11.0.1
.
$ grep rake Gemfile.lock
rake
rake (>= 0.8.7)
rake (11.0.1)
rake
$ bundle update
$ bundle exec rake db:drop # any rake task
Run Code Online (Sandbox Code Playgroud)
NoMethodError:#Rake :: Application:0x007ff0cf37be38>未定义的方法`last_comment'
版本
我有一个text_area
里面fields_for
,里面是一个form_for
.
<%= day_form.text_area :hatch %>
Run Code Online (Sandbox Code Playgroud)
是否有可能改变text_area
?的大小?例如:day_form.text_area size: 5
.
除了http://gems.rubyforge.org/和http://gems.github.com/之外,你会推荐什么样的红宝石宝石来源?RubyForge似乎缺少了我现在寻找的大部分宝石......
经过bundle update
我的Rails应用程序未能启动用:
Expected to find a manifest file in `app/assets/config/manifest.js` (Sprockets::Railtie::ManifestNeededError)
Run Code Online (Sandbox Code Playgroud) 我应该用吗? if defined?
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
Run Code Online (Sandbox Code Playgroud)
要么 ||=
@current_user_session ||= UserSession.find
Run Code Online (Sandbox Code Playgroud)
我注意到if defined?
最近使用的方法越来越多.一个人对另一个人有什么好处吗?就个人而言,我更喜欢||=
可读性.我也认为Rails可能有一个memoize
透明地提供这种行为的宏.是这样的吗?
gem update --system
gem install xxxx --no-ri --no-rdoc
Run Code Online (Sandbox Code Playgroud)
给出:invalid option: --no-ri
和invalid option: --no-rdoc
,新的命令行选项是什么?
如果我理解正确,Juggernaut建立在socket.io之上,而Faye则与Juggernaut layer和socket.io层结合.最近Ryan Bates提出了一个名为PrivatePub的Faye包装器,这使得运行Faye非常容易.
但是我已经有了一个在Heroku上运行的rails应用程序,而我想做的就是在它上面构建一个简单的聊天功能.
在研究时我发现很多人使用Pusher.似乎pusher在Heroku上得到了很好的支持,所以我正在考虑使用Pusher.
在我开始之前,我只是想确保我理解正确的事情.Pusher是否像推送请求的Heroku一样?我的选择是在Heroku上托管所有内容(包括Juggernaut或Faye模块),或者只是在Heroku上托管网站的静态部分,并将推送通知处理委托给推送器.
据我所知,从以下情况来看,这感觉就像一种更有效的方法:1.如果我使用推杆,我不必为了在Heroku上运行juggernaut/faye模块而跳过所有的箍.2.实时流量将委托给Pusher,这意味着我不会浪费我的Heroku服务器资源.
现在我只是一个初学者,对很多事情可能是错的,但请赐教.上述两个因素是否正确?我对Juggernaut/Faye/Pusher的理解是否正确?
我通过包含一个模块来扩展一个类(在插件中),这是在初始化器中完成的.
require 'qwerty/core/user'
User.send :include, Qwerty::Core::Extensions::User
Run Code Online (Sandbox Code Playgroud)
但是在开发之前,每个请求(以及在控制台中调用reload!之后)都会重新加载所有模型,但由于初始化程序不会再次运行,因此不包含该模块.留下"缺少部件"的模型.
因为模型是在插件中,所以直接在类中包含代码似乎是明智的,这是通常的方法.
现在我只是添加了一个before_filter,它包含了在开发环境中的模块.但我已经复制/粘贴并在初始化程序和应用程序控制器中有重复的代码.
# Class extensions in initalizers are over-writtern each request
def development_loading
if RAILS_ENV == 'development'
User.send :include, Qwerty::Core::Extensions::User
end
end
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
作为旁注,插件是我的,所以我可以添加代码,但模块中保存的扩展可能并不总是存在...
从 Ruby 2.3 升级到更新版本后,bundle install
我得到了错误Could not find 'bundler'
。
即使在执行之后也会发生这种情况gem install bundler
。