我正在使用git-annex来管理我的文件.我的一些遥控器可以使用2或3种方法,例如ssh和nfs,但nfs访问只能在我的本地网络上使用.然后,git-annex选择最快的方法来同步或获取文件(nfs,如果可用,ssh代替,使用分数来选择).现在,我定义了一个远程每个存储库和每个访问方法(例如:server-by-ssh,server-by-nfs),但这不是一个真正的git-annex方式来完成这项工作,因为它不符合numcopies选项,它使附件中的文件保持足够的复制(使用我当前的方法,许多遥控器实际上是硬盘上的相同文件夹).
然后,我的问题适用于git和git-annex,因为遥控器是在git中添加的,而不是git-annex:我想知道是否可以为给定的遥控器定义替代url.
我试图使用该git remote set-url --add命令,但它并没有像我期望的那样真正起作用.实际上,如果无法访问nfs url,git会挂起并等待.
任何的想法?
我只是在短时间内与Ruby合作,今天我在日历上处理请求时遇到了问题.我花时间在stackoverflow,ruby指南等上搜索不同的未定义方法错误文档,以及查看strftime.我找到了一个解决方案,使用try部分解决了我的问题,但现在它实际上并没有通过strftime来显示请求,即使rails服务器正在帖子中提取它.我可以很好地使用我的日历,然后点击新的请求按钮,填写表单,但是当我发布该表单时,浏览器会给我这样的信息:
undefined method `strftime' for nil:NilClass
Extracted source (around line #3):
1: <h1><%= @vacationrequest.request_name %></h1>
2:
3: <p class="info">Requested For <%= @vacationrequest.request_date.strftime("%B %e, %Y") %></p>
4:
5: <%= simple_format @vacationrequest.message %>
6:
Run Code Online (Sandbox Code Playgroud)
我在Rails服务器上收到此错误:
Started GET "/vacationrequests/1" for 127.0.0.1 at 2012-10-17 15:18:14 -0400
Processing by VacationrequestsController#show as HTML
Parameters: {"id"=>"1"}
?[1m?[35mVacationrequest Load (0.0ms)?[0m SELECT "vacationrequests".* FROM "v
acationrequests" WHERE "vacationrequests"."id" = ? LIMIT 1 [["id", "1"]]
Rendered vacationrequests/show.html.erb within layouts/application (15.6ms)
Completed 500 Internal Server Error in 31ms
ActionView::Template::Error (undefined method …Run Code Online (Sandbox Code Playgroud) 当我试图通过指定的艺术家获取所有音频歌曲时,我收到错误:
ActiveRecord::StatementInvalid: PGError: ERROR: column reference "artist" is ambiguous
LINE 1: ... AND (audio_translations.artist IS NOT NULL) AND (artist = '...
^
: SELECT "audios"."id" AS t0_r0, "audios"."audio_genre_id" AS t0_r1, "audios"."song" AS t0_r2, "audios"."artist" AS t0_r3, "audios"."file_id" AS t0_r4, "audios"."photo_id" AS t0_r5, "audios"."description" AS t0_r6, "audios"."position" AS t0_r7, "audios"."created_at" AS t0_r8, "audios"."updated_at" AS t0_r9, "audios"."date" AS t0_r10, "audio_translations"."id" AS t1_r0, "audio_translations"."audio_id" AS t1_r1, "audio_translations"."locale" AS t1_r2, "audio_translations"."artist" AS t1_r3, "audio_translations"."song" AS t1_r4, "audio_translations"."description" AS t1_r5, "audio_translations"."created_at" AS t1_r6, "audio_translations"."updated_at" AS …Run Code Online (Sandbox Code Playgroud) 假设我有以下型号:
class Post < ActiveRecord::Base
has_many :authors
class Author < ActiveRecord::Base
belongs_to :post
Run Code Online (Sandbox Code Playgroud)
假设Author模型有一个属性,name.
我想通过该作者的名字搜索给定作者"alice"的所有帖子.假设有另一位作者"bob"与alice共同撰写了一篇文章.
如果我使用includes和搜索第一个结果where:
post = Post.includes(:authors).where("authors.name" => "alice").first
Run Code Online (Sandbox Code Playgroud)
您会看到该帖子现在只有一位作者,即使实际上还有更多:
post.authors #=> [#<Author id: 1, name: "alice", ...>]
post.reload
post.authors #=> [#<Author id: 1, name: "alice", ...>, #<Author id: 2, name: "bob", ...>]
Run Code Online (Sandbox Code Playgroud)
这个问题似乎是的组合includes和where,其正确地限制了范围,以所希望的文章,但在同一时间隐藏不同的是匹配所述一个的所有关联.
我想最终得到一个ActiveRecord::Relation链接,所以上面的重载解决方案并不是真的令人满意.替换includes为joins解决此问题,但不急于加载关联:
Post.joins(:authors).where("authors.name" => "alice").first.authors
#=> [#<Author id: 1, name: "alice", ...>, #<Author id: 2, name: "bob", …Run Code Online (Sandbox Code Playgroud) activerecord associations arel active-relation ruby-on-rails-3
我很高兴使用内置的rails i18n支持将字符串翻译成不同的语言,效果很好.最近虽然我需要的东西超出了这个宝石的默认行为.
由于缺乏更好的词,我称之为" 逆向翻译 ".基本上我的想法是我在某种语言中有一些字符串,并且我希望能够使用另一种语言环境调用方法,并且如果语言环境字符串中存在映射,则返回转换为该语言环境的字符串.
例如,假设我有 config/locales/en.yml
en:
hello: Hello World!
Run Code Online (Sandbox Code Playgroud)
并在config/locales/ja.yml:
ja:
hello: Konnichi wa!
Run Code Online (Sandbox Code Playgroud)
然后当我l2l_translate在英语语言环境中调用此方法("locale to locale translate")时,将字符串和语言环境作为参数,我将返回日语翻译:
I18n.locale = :en
l2l_translate("Hello World!", :ja) #=> "Konnichi wa!"
Run Code Online (Sandbox Code Playgroud)
此外,这更棘手,我希望能够反向匹配插值字符串.所以说我有:
配置/语言环境/ en.yml
en:
minutes: "%d minutes"
Run Code Online (Sandbox Code Playgroud)
配置/语言环境/ ja.yml
ja:
minutes: "%d?"
Run Code Online (Sandbox Code Playgroud)
那么我应该能够将英语翻译成日语,如下所示:
l2l_translate("5 minutes", :ja) #=> "5?"
Run Code Online (Sandbox Code Playgroud)
所以基本上字符串应该与英语翻译字符串的正则表达式匹配,并且"5"被拉出并作为参数"%d"发送到日语翻译.
显然这里存在潜在的问题,如果:1)没有匹配,或2)有多个匹配.例如,可以通过引发异常来处理这些异常,或者通过在前一种情况下返回nil并在后一种情况下返回一组翻译来处理.无论如何,这些都是小问题.
我的基本问题是:这样的事情是否存在?如果没有,有没有人有任何关于如何开发它的建议(比如作为宝石)?
我特别想到的应用程序是日语服务的API包装器.我希望能够指定日语中的模式,这些模式可以匹配并翻译成其他语言.默认的i18n支持不会这样做,我不知道会有任何其他宝石.
任何建议或建议将不胜感激!作为参考,请参阅2010年关于i18n-rails反向转换主题的讨论.
ruby translation ruby-on-rails internationalization rails-i18n
我如何为我的模型编写表单,我使用rails 4和https://github.com/globalize/globalize进行翻译.我想在一个表单中显示所有翻译,如下例所示.我在这里找到了一个解决方案https://github.com/rilla/batch_translations但我不知道如何实现这一点.这个"批量翻译"是一个宝石还是什么?以及如何安装它.
<h1>Editing post</h1>
<% form_for(@post) do |f| %>
<%= f.error_messages %>
<h2>English (default locale)</h2>
<p><%= f.text_field :title %></p>
<p><%= f.text_field :teaser %></p>
<p><%= f.text_field :body %></p>
<hr/>
<h2>Spanish translation</h2>
<% f.globalize_fields_for :es do |g| %>
<p><%= g.text_field :title %></p>
<p><%= g.text_field :teaser %></p>
<p><%= g.text_field :body %></p>
<% end %>
<hr/>
<h2>French translation</h2>
<% f.globalize_fields_for :fr do |g| %>
<p><%= g.text_field :title %></p>
<p><%= g.text_field :teaser %></p>
<p><%= g.text_field :body %></p>
<% end %>
<% …Run Code Online (Sandbox Code Playgroud) 我正在尝试从KML文件中提取两个不同的元素,然后将它们转换为CSV。我从这里的好网站开始:http : //ckdake.com/content/2012/highgroove-hack-night-kml-heatmaps.html,它会生成一个csv的坐标。我现在要做的就是将名称标签添加到每一行的开头。我是ruby / nokogiri n00b,所以我可以粘贴这段代码,在其中获得a)所有名称的列表,然后b)所有坐标的列表。但是,再次-我希望他们在同一行。
require 'rubygems'
require 'nokogiri' # gem install nokogiri
@doc = Nokogiri::XML(File.open("WashingtonDC2013-01-04 12h09m01s.kml"))
@doc.css('name').each do |name|
puts name.content
end
@doc.css('coordinates').each do |coordinates|
coordinates.text.split(' ').each do |coordinate|
(lat,lon,elevation) = coordinate.split(',')
puts "#{lat},#{lon}\n"
end
end
Run Code Online (Sandbox Code Playgroud) 我使用twitter bootstrap gem生成在索引页面中显示created_at列的视图.与脚手架一起生成的rspec测试使用stub_model来测试索引视图.这些测试失败,因为created_at列为nil.
就像stub_model生成虚拟id一样,它也可以将created_at列设置为Time.now.可以通过配置完成.或者我们是否需要在创建存根时每次指定它.
任何人都可以告诉我如何使用git附件与bup.
git annex initremote mybup type=bup encryption=none buprepo=example.com:/big/mybup
Run Code Online (Sandbox Code Playgroud)
不适合我.如果我打字
git annex
Run Code Online (Sandbox Code Playgroud)
它将列出所有命令,但是在这个initremote命令中不存在.可能是什么问题呢.
我有一个需要多语言的rails项目.我在为rails项目启用globalize时遇到了一些问题.
我想知道是否有一个完整的清单/配方,可以为rails应用程序启用国际化.
请注意,我使用ActiveAdmin也需要参与其中.
我试图在我的rails应用程序中,在Employee模型和NetworkDrive模型之间建立has_and_belongs_to_many关系.
在employee.rb我指定
has_and_belongs_to_many :network_drives</code>
Run Code Online (Sandbox Code Playgroud)
并在network_drive.rb中...
has_and_belongs_to_many :employee</code>
Run Code Online (Sandbox Code Playgroud)
但是,它似乎生成模型属性,如":network_drife_ids"而不是":network_drive_ids",它给我的错误像
uninitialized constant Employee::NetworkDrife
这是准确的,考虑到该模型被称为NetworkDrive,而不是NetworkDrife.
很抱歉,如果这是一个重复的问题,但我不知道如何搜索此问题.我在这里尝试了几个关于HABTM关系问题的解决方案,但无济于事.
更新:这是完整的错误,在尝试将其更改为has_many之后:通过关系.
NameError: uninitialized constant EmployeeItRequest::EmployeeItRequestDrife
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.7/lib/active_record/inheritance.rb:111:in `compute_type'
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.7/lib/active_record/reflection.rb:172:in `klass'
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.7/lib/active_record/reflection.rb:216:in `association_primary_key'
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.7/lib/active_record/associations/has_many_association.rb:104:in `foreign_key_present?'
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.7/lib/active_record/associations/association.rb:165:in `find_target?'
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.7/lib/active_record/associations/collection_association.rb:332:in `load_target'
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.7/lib/active_record/associations/collection_proxy.rb:44:in `load_target'
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.7/lib/active_record/associations/collection_proxy.rb:87:in `method_missing'
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/railties-3.2.7/lib/rails/commands/console.rb:47:in `start'
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/railties-3.2.7/lib/rails/commands/console.rb:8:in `start'
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/railties-3.2.7/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)
更新:NetworkDrive.tableize的结果
NoMethodError: undefined method `tableize' for #<Class:0x0000000229fef8>
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.7/lib/active_record/dynamic_matchers.rb:50:in `method_missing'
from (irb):1
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/railties-3.2.7/lib/rails/commands/console.rb:47:in `start'
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/railties-3.2.7/lib/rails/commands/console.rb:8:in `start'
from /usr/local/rvm/gems/ruby-1.9.2-p320/gems/railties-3.2.7/lib/rails/commands.rb:41:in `<top (required)>' …Run Code Online (Sandbox Code Playgroud) ruby ×5
git ×3
git-annex ×3
activerecord ×2
globalize ×2
activeadmin ×1
arel ×1
associations ×1
csv ×1
git-svn ×1
github ×1
globalize3 ×1
kml ×1
methods ×1
mysql ×1
nokogiri ×1
null ×1
postgresql ×1
rails-i18n ×1
rspec ×1
rspec-rails ×1
translation ×1
windows ×1