目前我有一个功能来检查出生年份是否正确:
validates :birth_year, presence: true,
format: {with: /(19|20)\d{2}/i }
Run Code Online (Sandbox Code Playgroud)
我还有一个检查日期是否正确的函数:
validate :birth_year_format
private
def birth_year_format
errors.add(:birth_year, "should be a four-digit year") unless (1900..Date.today.year).include?(birth_year.to_i)
end
Run Code Online (Sandbox Code Playgroud)
是否可以将底部方法组合到validates顶部而不是我现在拥有的两个验证?
我有一个简单的Procfile,内容如下:
web: bundle exec rails server thin -p $PORT
worker: bundle exec rake jobs:work
Run Code Online (Sandbox Code Playgroud)
在Heroku上,这将启动N个工作任务,其中N是我将其缩放的任何东西.
在我的开发系统上,
$ foreman start
Run Code Online (Sandbox Code Playgroud)
只会启动一个工作任务.如果我想启动三个worker,我需要一个看起来像这样的Procfile:
web: bundle exec rails server thin -p $PORT
worker: bundle exec rake jobs:work
worker: bundle exec rake jobs:work
worker: bundle exec rake jobs:work
Run Code Online (Sandbox Code Playgroud)
这是一个有点迂腐的问题,但如果我希望我的开发环境像我的Heroku环境一样,那么启动N个工作任务的最佳方法是什么?是批准的方法来创建(例如)Procfile_local并通过它使用它foreman -f Procfile_local?
假设我有一个feature已经分支的分支master.developer1和developer2结账两者feature.developer1提交更改feature并推送它.然后developer3推送一些东西master.此时master并feature发散,每个都有一个单独的提交.
什么是去获得从最新的正确方法master进入feature,如果有冲突?我应该重新master加入feature,还是合并?
编辑:
我应该提一下,在这种情况下,我不想重写developer2上的历史记录.因为那会很糟糕.对?
这是我的第一个 Rails 项目。我对如何将图像文件保存在数据库中感到有点困惑,因为它们占用了大量空间。我的网站将成为人们上传大量图像的网站。在创建图片表的迁移中,我会将图像文件名保存为字符串吗?还有人提示在哪里保存图像(资产、公共等)吗?
抱歉,我只是一个寻求指导的菜鸟。
Git版本:1.7.12.3
正如问题所述,这对我来说似乎是一个非常糟糕的主意.没有任何额外的标志或确认git push -f将强制将所有跟踪分支推送到远程.
如果开发人员有一些过时的分支,即跟踪遥控器,并且他执行该命令,则所有跟踪分支都将回滚到他过时的副本,这会导致丢失有价值的工作.
这可能是偶然发生的,或者是由git经验不足的人完成的.看起来git应该在这样一个危险的情况下做更多的手持,并需要一个额外的标志,或要求确认.
这有补救措施吗?
我试图理解Go中包命名约定背后的想法.大多数软件包的安装和导入类似于:
import "github.com/howeyc/fsnotify"
Run Code Online (Sandbox Code Playgroud)
我认为包名应该是唯一的,但我没有看到使用网站的意义github.com.为什么不用author/package?喜欢:
import "howeyc/fsnotify"
Run Code Online (Sandbox Code Playgroud)
那不太可能发生碰撞.还是其他一些"更短"的策略?是因为它"正常" go get吗?还是有其他原因吗?
我有一个连接组件(HOC),可以在 中获取一些数据componentDidMount,例如:
function setData(data) {
return { type: "SET_DATA", data: data };
}
function fetchData() {
return axios.get("http://echo.jsontest.com/key/value/one/two");
}
function getData(dispatch) {
return () => fetchData().then(response => dispatch(setData(response.data)));
}
class Welcome extends Component {
componentDidMount() {
this.props.getData();
}
render() {
if (this.props.data) {
return <div>We have data!</div>;
} else {
return <div>Waiting for data...</div>;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的测试看起来像:
it("renders without crashing", async () => {
axios.get = jest.fn(() => {
return Promise.resolve({ data: { one: 1, …Run Code Online (Sandbox Code Playgroud) 我对将变量从控制器传递到视图有疑问。最佳实践是什么,性能是什么,最后在局部变量中传递变量或将变量作为实例变量传递的优点和缺点是什么?例子:
controller.rb
@string = "Some string"
Run Code Online (Sandbox Code Playgroud)
然后在视图中:
view.erb
<%= @string %>
Run Code Online (Sandbox Code Playgroud)
或者更好地通过
controller.rb
render some_path,
:locals => {
:string => 'aww',
}
Run Code Online (Sandbox Code Playgroud)
然后是内部视图:
<%= string %>
Run Code Online (Sandbox Code Playgroud)
对象、布尔值会怎样?性能有什么区别吗?什么是更好的做法?
问候
git ×2
asynchronous ×1
delayed-job ×1
foreman ×1
go ×1
heroku ×1
javascript ×1
jestjs ×1
reactjs ×1
redux ×1