小编Alm*_*ron的帖子

指定gem安装目录

我在这里遇到麻烦.我正在使用Rails 2.3项目(通过ssh在生产服务器上工作 - 不要问为什么).这是Gemfile.当delayed_jobs尝试启动时,输出显示我需要安装bundler gem.问题是gemdir是/var/lib/gems/1.8/,我没有该目录的写权限.但是在我可以写的〜/ projects/shared/gems/ruby​​/1.8/gems下有一个目录.

如何定义gem的安装路径?

rubygems ruby-on-rails

27
推荐指数
4
解决办法
5万
查看次数

Windows主机文件无法正常工作

我需要在hosts文件中添加自定义IP主机行:
c:\windows\system32\drivers\etc\hosts

我尝试添加这个:
199.229.249.151 models.db

当我保存文件并尝试ping主机时,浏览器找不到它.我尝试使用命令行将只读添加到hosts文件 - 结果相同.我尝试刷新DNS缓存,但没有任何变化.

我忘记了什么?

windows dns hosts-file

15
推荐指数
4
解决办法
4万
查看次数

Rails 5.1.1弃用警告changed_attributes

我刚从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_updateafter_create在那里我用confitions像回调if: { author_id_changed? },但我不知道该怎么办他们.

我也相信该警告是与这个庞大的更新ActiveRecord的.

非常感谢你能给予的任何一手牌.

UPD

这篇文章帮了很多!

deprecation-warning ruby-on-rails-5.1

12
推荐指数
3
解决办法
5442
查看次数

验证失败后设计日志

当有人试图登录我的应用程序(跟踪暴力尝试)时,我需要写一个日志.我还决定记录成功的身份验证.所以我创建了一个SessionsController <Devise :: SessionsController并试图覆盖会话#create方法,如:https://gist.github.com/3884693

第一部分完美地运行,但是当auth failes rails抛出某种异常并且永远不会到达if语句.所以我不知道该怎么办.

authentication devise ruby-on-rails-3.2

10
推荐指数
3
解决办法
7033
查看次数

带有AJAX数据源,排序和过滤的Angularjs ng-table

我正在尝试应用ngTable directive到我的Rails应用程序,但无法正确使用它.我仍然是角色的新手,这个指令似乎记录很差(虽然有很多很好的例子).

所以我有一个名为$scope.users包含我需要的所有用户信息的数组(例如像这样),它来自a $resource query().

我需要把它变成一个表格:

  1. 排序
  2. 分页
  3. 从一个输入过滤(就像在这里完成)

有人可以提供解决方案,或者至少提供一些如何将它们放在一起的建议吗?

UPDATE

因此,在irc频道的wafflejock的帮助下,我已经能够整合一些功能.这是插件.

还有什么不对:

  1. 每次更改页面,排序或其他任何内容时,都会请求json数据集.这是一个巨大的请求,所以我需要它以某种方式缓存.
  2. 我需要能够操纵控制器中的数据集来更改值并在需要时删除用户.仍然不知道如何实现这一点.

angularjs angularjs-directive ngtable

9
推荐指数
1
解决办法
2万
查看次数

Rails:向collection_select添加选项

我正在使用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)

但我认为有更优雅的方式.

form-helpers ruby-on-rails-3

6
推荐指数
2
解决办法
7261
查看次数

Rails 4用不同的语言解析日期

我有一个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日).

internationalization rails-i18n ruby-on-rails-4

6
推荐指数
1
解决办法
869
查看次数

ActiveRecord::AssociationTypeMismatch on STI 通过关联

它会变得有点棘手。

所以,我有一个由Section实体组成的论坛应用程序。论坛还有Char实体(写帖子和创建主题)和CharGroup用于分组字符的实体。这些部分可以设置为私人访问。

然后我必须访问这些私人部分的权限。我有一个SectionAccess带有 STI的类,它可以是Access::CharAccess::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)

sti rails-activerecord ruby-on-rails-5

6
推荐指数
0
解决办法
1185
查看次数