我用的是设备3.0.3
我有一个可以确认的模型。
我希望用户在整个会话期间首次注册时登录,然后当用户回来时,必须对其进行确认。这个想法并不是因为必须检查电子邮件而中断注册导航流程。
另一种选择是在用户拒绝登录之前给予用户 24 小时的延迟。
我尝试使用after_inactive_sign_up_path_for这种方式:
def after_inactive_sign_up_path_for(user)
user.confirm!
sign_in(:user, user)
user.confirmed_at = nil
user.save
return user_path(user)
end
Run Code Online (Sandbox Code Playgroud)
但最后我还是被拒绝了。
有什么建议可以正确解决这个问题吗?
我有一个范围和方法的模型,如下所示:
class Model < ActiveRecord::Base
scope :editable, where('updated_at > ? OR (updated_at IS NULL AND created_at > ?)', (Date.today - 3.days).beginning_of_day, (Date.today - 3.days).beginning_of_day)
def editable?
return (self.updated_at || self.created_at) > (Date.today - 3.days).beginning_of_day
end
end
Run Code Online (Sandbox Code Playgroud)
我觉得我不应该在范围和方法中写两次相同的逻辑.有没有办法可以避免这种情况?
我在Rails 3.2上
谢谢
所以我有这个模型:
class Model < ActiveRecord::Base
attr_accessible :to_id, :to_type
belongs_to :to, polymorphic: true
end
Run Code Online (Sandbox Code Playgroud)
我想知道当 own_to 属于特定类型时是否可以添加另一个关系:
class Model < ActiveRecord::Base
attr_accessible :to_id, :to_type
belongs_to :to, polymorphic: true
belongs_to :to_user, :foreign_key => :to_id, :conditions => ['to_type = ?', 'User'] # doesn't work
# OR MAYBE
belongs_to :to_user, :foreign_key => :to_id, :foreign_class => 'User' # It doesn't check on Model's to_type...
end
Run Code Online (Sandbox Code Playgroud)
因此,这my_model.to_user将返回“user是否存在”、nil“是否未设置”或“是否属于不同类”。
使用 Rails 3.2
谢谢!
做自由职业者,我继续开始新的项目.
我发现postgresql配置只在开发模式下使用时非常复杂(我完全理解生产要求有很大不同).
我想要实现的是配置我的postgres,以便使用任何用户名/密码/端口/连接模式,它具有数据库的所有权限(因为安全性无论如何).使用Rails,所有配置都在config/database.yml,我不想从文件本身更改任何内容.
我实现了对每个连接(本地和TCP)的任何password_less身份验证,但这样做:
# /etc/postgresql/9.3/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
local all all trust
host all all 0.0.0.0/0 trust
Run Code Online (Sandbox Code Playgroud)
和:
# /etc/postgresql/9.3/main/postgresql.conf
listen_addresses = '*'
Run Code Online (Sandbox Code Playgroud)
从这篇文章来看.
但如果用户(例如appname_dev)不存在,我得到:
FATAL: role "appname_dev" does not exist
Run Code Online (Sandbox Code Playgroud)
这个帖子允许我在一行中创建用户,这很公平(sudo -u postgres createuser -d -R -P appname_dev),但我真的希望这是即插即用.
我理解端口的东西可能很棘手,但恕我直言,其余的不应该!
谢谢您的帮助!
我的磁盘内存不足。
如果我运行docker images,我会得到很多结果:
app_mongodb latest 355f8f37c385 17 hours ago 568.1 MB
app_web latest a31db2244a8b 18 hours ago 868.2 MB
<none> <none> 71e586165d46 18 hours ago 568.1 MB
<none> <none> 422c281541d3 18 hours ago 568.1 MB
<none> <none> 1b16da634fa1 18 hours ago 535.4 MB
website_web latest e4442589e2f4 2 days ago 793.6 MB
<none> <none> 5445f9b915e6 3 days ago 535.4 MB
<none> <none> e825b94d5938 3 days ago 868 MB
<none> <none> ea1ddc53d17f 3 days ago 535.4 MB
<none> <none> 90531b8bd2d3 …Run Code Online (Sandbox Code Playgroud) I have the following docker-compose.yml:
services:
postgres:
image: "postgres:11.0-alpine"
app:
build: .
ports:
- "4000:4000"
depends_on:
- postgres
- nuxt
nuxt:
image: node:latest
ports:
- "3000:3000"
Run Code Online (Sandbox Code Playgroud)
I need nuxt service to communicate with app.
Within the nuxt service (docker-compose run --rm --service-ports nuxt bash), if I run
root@62cafc299e8a:/app# ping postgres
PING postgres (172.18.0.2) 56(84) bytes of data.
64 bytes from avril_postgres_1.avril_default (172.18.0.2): icmp_seq=1 ttl=64 time=0.283 ms
64 bytes from avril_postgres_1.avril_default (172.18.0.2): icmp_seq=2 ttl=64 time=0.130 ms
64 …Run Code Online (Sandbox Code Playgroud) 我有两个型号,说User和Group
我知道我可以使用不同的解决方案访问每个对象的show动作:
# PATH
link_to user.name, user_path(user)
link_to group.name, group_path(group)
# URL
link_to user.name, user_url(user)
link_to group.name, group_url(group)
Run Code Online (Sandbox Code Playgroud)
但是Rails的魔法何时发生
# PATH
link_to user.name, user_path(user)
link_to group.name, group_path(group)
# is equivalent to
# PATH
link_to user.name, user
link_to group.name, group
Run Code Online (Sandbox Code Playgroud)
有没有办法插入来获取网址?
我可以这样写:
link_to user.name, send("#{user.class.name.downcase}_url", user)
Run Code Online (Sandbox Code Playgroud)
但是有更干净的方式吗?
Write access revoked我的heroku开发计划中有一个,因为我的数据库中有太多行.
这是我的结果:
$ heroku pg:info
=== HEROKU_POSTGRESQL_WHITE_URL (DATABASE_URL)
Plan: Dev
Status: available
Connections: 1
PG Version: 9.2.7
Created: 2013-06-21 13:24 UTC
Data Size: 12.0 MB
Tables: 48
Rows: 10564/10000 (Write access revoked) - refreshing
Fork/Follow: Unsupported
Rollback: Unsupported
Region: Europe
Run Code Online (Sandbox Code Playgroud)
从那以后,我删除了一半的行,因为它们是由一个退化的脚本创建的,而且我在我的开发环境中.我检查了pgadmin并在rails控制台中,看起来实际上删除了这些行.
我该如何恢复write access到我的数据库?我不想升级,因为我通常不需要它.等了2个小时已经没什么变化了.
我读的内容heroku pg:info并没有快速更新,但我能做些什么呢?
感谢你的支持
如何编写一个takeWhile来保持第一个与条件不匹配的元素?
示例(显然我的例子比这更棘手):
而不是takeWhile (\× - > x! = 3) [1..10]回归[1,2]我需要[1,2,3].
我想到了,(takeWhile myFunc myList) ++ [find myFunc myList]但这意味着我需要通过我的清单2次...
任何的想法?
我有一个包含多个文件的文件夹,我想将其移动到一个子文件夹:
mkdir subfolder
mv ./* subfolder
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,我得到:
mv: cannot move 'subfolder' to a subdirectory of itself
我怎样才能简单地避免这种情况?
activerecord ×2
docker ×2
postgresql ×2
bash ×1
devise ×1
haskell ×1
heroku ×1
link-to ×1
ruby ×1