使用'cookbook'将烹饪书添加到Berksfile并使用'depends'将cookbook添加到metadata.rb之间有什么区别?例如,如果我添加到metadata.rb
depends 'nginx'
Run Code Online (Sandbox Code Playgroud)
我需要使用它将它添加到Berksfile吗?
cookbook 'nginx'
Run Code Online (Sandbox Code Playgroud)
?
假设我已经克隆了存储库,创建了新的分支"Topic1",进行了更改,提交了它们,然后将它们推送到远程仓库git push origin Topic1.之后我向主分支发出拉取请求.
然后在我的本地存储库中,我从分支"Topic1"结帐到分支"Topic2",在那里做了一些更改,提交并再次将这个新分支推送到远程.并再次向主人提出拉动请求.我想提一下,在此期间没有对master分支进行任何更改,因此我不需要将本地repo与上游同步.
这就是问题:当我去拉"Topic2"的请求页面时,会出现"Topic1"的所有提交.所以,我的问题 - 如何才能获得仅与"Topic2"分支相关的第二次拉取请求提交?
重构FatRecord 模型的7种模式 - 这是一篇关于使用PORO的不同重构方法的精彩文章.在第三个标题下有一个Form Object模式,我非常喜欢并且已经在其中一个项目中实现了.只有一个使用一个嵌套资源的示例,但我想为多个嵌套资源实现此模式.也许这里有人已经处理过这个问题?我不一定需要任何代码示例,只是基本的想法会很好.
更新
考虑这个例子.我有两个型号.
class Company
has_many :users
accepts_nested_attributes_for :users
end
class User
belongs_to :company
end
Run Code Online (Sandbox Code Playgroud)
对于使用表单对象模式的公司的一个嵌套用户,我将编写以下内容:
<%= form_for @company_form do |f| %>
<%= f.text_field :name %>
<%= f.text_field :user_name %>
<%= f.submit %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
表格对象
class CompanyForm
include Virtus
extend ActiveModel::Naming
include ActiveModel::Conversion
include ActiveModel::Validations
attr_accessor :company, :user
def user
@user ||= company.users.build
end
def company
@company ||= Company.new
end
def submit(params={})
company.name = params[:name]
user.name = params[:user_name]
persist!
end
private
def persist!
company.save! …Run Code Online (Sandbox Code Playgroud)