Tag: 干燥

Django – 在设置中使用反向URL映射

django设置文件中的一些选项是url,例如LOGIN_URL和LOGIN_REDIRECT_URL 。 是否有可能避免硬编码这些url,而是使用反向url映射? 目前,这真是我发现自己在多个地方写同一个url的唯一地方。

Rails 3 – 限制资源路由中的操作格式

我有我的路线中定义的资源。 resources :categories 我在我的类别控制器中有以下内容: def show @category = Category.find(params[:id]) respond_to do |format| format.json { render :json => @category } format.xml { render :xml => @category } end end 控制器操作对于json和xml工作正常。 不过,我不希望控制器响应html格式的请求。 我怎样才能只允许JSON和XML? 这应该只在演出中发生。 达到这个目标的最好方法是什么? 还有什么好的提示干起来的respond_to块? 谢谢你的帮助。

如何避免代码重复实现常量和非常量迭代器?

我正在实现一个类似STL的接口的自定义容器。 我必须提供一个常规的迭代器和一个常量迭代器。 迭代器的两个版本的大部分代码是相同的。 我怎样才能避免这种重复? 例如,我的容器类是Foo ,我正在实现FooIterator和FooConstIterator 。 这两个迭代器都必须提供像operator++()这样的方法,它们是相同的。 我的问题类似于如何删除类似的const和非const成员函数之间的代码重复? ,但是这个答案是特定于const和非const方法的,特别是访问器。 我不明白这是如何推广到迭代器的问题。 我应该让FooIterator从FooIterator派生,并用额外的非const方法扩展吗? 这要么导致虚拟方法或方法隐藏,这在这里看起来不合适。 也许FooIterator应该包含一个FooConstIterator 。 虽然这种方法确实减less了重复实施,但似乎重新引入了很多样板方法的定义。 是否有巧妙的模板技术从一个单一的定义生成两个迭代器? 或者也许有一种方式 – 不寒而栗 – 使用预处理器来消除这些几乎相同的类。 我试着看看我的本地STL实现,看看它是如何处理这个。 有这么多的帮助类,我有困难的devise,但它看起来像function只是重复。 在以前的项目中,我的自定义容器是build立在标准STL容器之上的,所以我不必提供自己的迭代器。 在这种情况下,这不是一个选项。

我应该在哪个文件夹中放置“全局”共享部分模板?

我正在使用Ruby on Rails 3.0.7,并计划使用部分模板。 我的应用程序中的所有类将使用相同的部分,所以我必须决定在哪里find所有这些。 将“全局”共享部分模板放在lib文件夹中是个好主意吗? 如果不是,那么select文件夹放在那里的常见做法是什么? 有关如何正确命名和加载该文件夹的任何build议?

如何重复Django模板中的“块”

我想在同一个Django模板中使用相同的{%block%}两次。 我希望这个块在我的基本模板中出现多次: # base.html <html> <head> <title>{% block title %}My Cool Website{% endblock %}</title> </head> <body> <h1>{% block title %}My Cool Website{% endblock %}</h1> </body> </html> 然后扩展它: # blog.html {% extends 'base.html' %} {% block title %}My Blog{% endblock %} # pictures.html {% extends 'base.html' %} {% block title %}My Pictures{% endblock %} # cats.html […]

如何从Cmacros的值做一个string?

例如,如何避免两次写'func_name'? #ifndef TEST_FUN # define TEST_FUN func_name # define TEST_FUN_NAME "func_name" #endif 我想遵循“ 单点实施规则”。 C预处理器的版本: $ cpp –version cpp (GCC) 4.1.2 20070626 (Red Hat 4.1.2-14)

什么是推荐的方式来扩展AngularJS控制器?

我有三个非常相似的控制器。 我想有一个控制器,这三个扩展和分享它的function。