我在这里遇到麻烦.我正在使用Rails 2.3项目(通过ssh在生产服务器上工作 - 不要问为什么).这是Gemfile.当delayed_jobs尝试启动时,输出显示我需要安装bundler gem.问题是gemdir是/var/lib/gems/1.8/,我没有该目录的写权限.但是在我可以写的〜/ projects/shared/gems/ruby/1.8/gems下有一个目录.
如何定义gem的安装路径?
我需要在hosts文件中添加自定义IP主机行: c:\windows\system32\drivers\etc\hosts
我尝试添加这个:
199.229.249.151 models.db
当我保存文件并尝试ping主机时,浏览器找不到它.我尝试使用命令行将只读添加到hosts文件 - 结果相同.我尝试刷新DNS缓存,但没有任何变化.
我忘记了什么?
我刚从Rails 5.0.0升级到5.1.1并开始收到大量的弃用警告:
弃用警告:
changed_attributes回调后内部的行为将在下一版本的Rails中发生变化.新的返回值将反映save返回后调用方法的行为(例如,与现在返回的方法 相反).要保持当前行为,请saved_changes.transform_values(&:first)改用.
还有这个:
弃用警告:
attribute_changed?回调后内部的行为将在下一版本的Rails中发生变化.新的返回值将反映save返回后调用方法的行为(例如,与现在返回的方法 相反).要保持当前行为,请saved_change_to_attribute?改用.
我没有在我的项目中的任何地方明确地使用这些方法,警告主要指向模型上的创建和更新调用.
我相信这是与我的验证,并after_update与after_create在那里我用confitions像回调if: { author_id_changed? },但我不知道该怎么办他们.
我也相信该警告是与这个庞大的更新ActiveRecord的.
非常感谢你能给予的任何一手牌.
UPD
这篇文章帮了很多!
当有人试图登录我的应用程序(跟踪暴力尝试)时,我需要写一个日志.我还决定记录成功的身份验证.所以我创建了一个SessionsController <Devise :: SessionsController并试图覆盖会话#create方法,如:https://gist.github.com/3884693
第一部分完美地运行,但是当auth failes rails抛出某种异常并且永远不会到达if语句.所以我不知道该怎么办.
我正在尝试应用ngTable directive到我的Rails应用程序,但无法正确使用它.我仍然是角色的新手,这个指令似乎记录很差(虽然有很多很好的例子).
所以我有一个名为$scope.users包含我需要的所有用户信息的数组(例如像这样),它来自a $resource query().
我需要把它变成一个表格:
有人可以提供解决方案,或者至少提供一些如何将它们放在一起的建议吗?
UPDATE
因此,在irc频道的wafflejock的帮助下,我已经能够整合一些功能.这是插件.
还有什么不对:
我正在使用collection_select字段,但是需要在默认选项前添加选项,这些选项不代表特定的模型记录,用于将appropriet字段设置为NULL.但我无法找到任何办法.
如果您需要更多信息,请不要随便询问.使用Rails 3.2.3与标准表单助手.
PS我知道我可以这样做:
@parents = ['default_name','nil']
@parents << Model.all.map {|item| [item.name,item.id]}
Run Code Online (Sandbox Code Playgroud)
但我认为有更优雅的方式.
我有一个text_field :birthday_line在我的用户表单中,我需要解析用户的birthday属性.所以我在User课堂上做这样的事.
attr_accessor :birthday_line
before_save :set_birthday
def set_birthday
self.birthday = Date.strptime(birthday_line, I18n.translate("date.formats.default")
end
Run Code Online (Sandbox Code Playgroud)
但问题是,由于某种原因,它给了我一个错误,说Invalid date我何时尝试传入一个27 ?????? 1987 ?.应该被解析的字符串1987-01-27.我的格式和月份名称config/locales/ru.yml
ru:
date:
formats:
default: "%d %B %Y ?."
month_names: [~, ??????, ???????, ?????, ??????, ???, ????, ????, ???????, ????????, ???????, ??????, ???????]
Run Code Online (Sandbox Code Playgroud)
似乎是正确的.
Date.parse 也没有帮助,它只是解析日期编号(27)并将月份和年份放到今天的日期(因此它将是2013年9月27日而不是1987年1月27日).
它会变得有点棘手。
所以,我有一个由Section实体组成的论坛应用程序。论坛还有Char实体(写帖子和创建主题)和CharGroup用于分组字符的实体。这些部分可以设置为私人访问。
然后我必须访问这些私人部分的权限。我有一个SectionAccess带有 STI的类,它可以是Access::Char或Access::Group,相应地提供对单个字符和 char_groups 的访问。它们都有一个section_id字段将它们链接到一个部分和一个access_id字段,链接到 char 或 char_group(当然还有一个type用于 STI 的字段)。
class Access::Char < Access
belongs_to :char, class_name: '::Char', foreign_key: :access_id
end
class Access::Group < Access
belongs_to :group, class_name: 'CharGroup`, foreign_key: :access_id
end
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试将这些链接到Section课堂上。
class Section < ApplicationRecord
...
has_many :access_chrs, class_name: 'Access::Char'
has_many :access_chars, class_name: '::Char', through: :access_crhs, source: :char
# I need the :chars accociation for something else …Run Code Online (Sandbox Code Playgroud) angularjs ×1
devise ×1
dns ×1
form-helpers ×1
hosts-file ×1
ngtable ×1
rails-i18n ×1
rubygems ×1
sti ×1
windows ×1