越来越多的我将我的所有代码都放在关于MVC的模型和帮助器中.
但是,有时候我不确定在哪里组织代码.它应该进入模型还是应该进入帮助者.每个都有什么好处.是一个更快还是相同.我听说过所有模型都被缓存了,所以看起来像是放置我的大部分代码的更好的地方.
例如,这里有一个在模型或帮助器中工作的场景:
def status
if self.purchased
"Purchased"
elsif self.confirmed
"Confirmed"
elsif self.reserved
"Reserved"
else
"Pending"
end
Run Code Online (Sandbox Code Playgroud)
结束
我不需要像在数据库中那样保存此状态,因为有已购买,已确认和已保留的布尔字段.那么为什么要把它放在一个模型中,或者为什么要把它放到帮助器里呢?
因此,我不确定将代码放入模型或帮助程序中获得的最佳实践或好处,如果它可以同时存在.
我有大约100个样式表,它们将相同的样式应用于一个文档,就像zen css页面一样,我可以逐个列出这些文件,但它们都在同一个文件夹中,所以看起来有一种更简单的方法.那就是...?
我正在使用ruby,但我宁愿只列出一个文件夹.
<% Highlight.all.each do |hl| %>
<%= stylesheet_link_tag "css/#{hl.name}" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
看着禅园这是他们的来源
在发布一些答案后添加
这是一个文件
<style type="text/css" title="currentStyle" media="screen">
@import "/205/205.css";</style>
Run Code Online (Sandbox Code Playgroud)
这是第二种CSS风格
<style type="text/css" title="currentStyle" media="screen">
@import "/001/001.css";
</style>
Run Code Online (Sandbox Code Playgroud)
什么是@import?这意味着什么?
我正在为一个拥有200多个模块的Rails应用程序开发ApplicationModel.该应用程序是如此之大,以至于当我们rails s需要40秒才能加载我们的应用程序.因此,在开发过程中,我们经常更改模块,并查看我们重新加载应用程序所需的更改.
所以我创建了一个ApplicationModel并将所有初始化程序移动到该模型中,以便在开发中重新加载更改,我们不必再次重新启动服务器,每天节省大量时间.
我使ApplicationModel继承ActiveRecord::Base并使其成为一个抽象类.所有其他模型都继承自此模型.所以现在我们可以把我们的初始化器扩展到ActiveRecord这个模型.
由于我工作的一个项目,其他人开始我不知道延长这两种方式之间的区别ActiveRecord,并想知道它们之间的差异.
ActiveRecord::Base.send(:include, someModule)
ActiveRecord::Base.extend(ClassMethods)
Run Code Online (Sandbox Code Playgroud) 我有一个Reservation模型,我正在寻找三个领域.在container_id必须始终self.id但是confirmed和auto_confirmed只有一个需要为真.我有以下但它没有执行我需要的:
Reservation.find(:all,
:conditions => ['container_id = ? AND confirmed = ? OR auto_confirm = ?',
self.id, true, true,])
Run Code Online (Sandbox Code Playgroud)
我应该怎么改变这个?
我有一个id为div的div,bottom_arrow我想用左/右键盘左右移动div左右100px.我怎样才能做到这一点?
我正在努力获得进度条,delayed job但我不知道如何检查对象的状态.
我有一个被调用的对象Scrape,它会执行一些feed解析或其他任何操作,因此大约需要30秒.我似乎无法做的是找到一种方法来访问该对象,该对象具有进度整数属性,该属性跟踪解析,我将调用该解析以在正面创建一个简单的%/ css/div/ajax更新程序小部件.
我可以使用,object_id因为在id完成/保存过程之前,对象没有.如果是这样的话?
如何在我的对象上访问此进度属性是否已延迟.或者还有另一种方法吗?
如果您在嵌套表单上看到railscast,则这是动态创建链接的帮助方法.但是,在我升级到ruby 1.9.2和rails 3后,这不起作用,我现在知道为什么.
def link_to_add_fields(name, f, association)
new_object = f.object.class.reflect_on_association(association).klass.new
fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|
render(association.to_s.singularize + "_fields", :f => builder)
end
link_to_function(name, h("add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")"))
end
Run Code Online (Sandbox Code Playgroud)
这是javascript
function add_fields(link, association, content) {
var new_id = new Date().getTime();
var regexp = new RegExp("new_" + association, "g")
$(link).up().insert({
before: content.replace(regexp, new_id)
});
Run Code Online (Sandbox Code Playgroud)
}
当我查看源代码时,链接的呈现方式如下:
<p><a href="#" onclick="add_fields(this, "dimensions", ""); return false;">Add Dimension</a></p>
Run Code Online (Sandbox Code Playgroud)
因此"",构建新模板的信息不正确,而且字段的字符串是如何设置的.如fields= f.fields_for
Class TShirt
def size(suggested_size)
if suggested_size == nil
size = "please choose a size"
else
size = suggested_size
end
end
end
tshirt = TShirt.new
tshirt.size("M")
== "M"
tshirt = TShirt.new
tshirt.size(nil)
== "please choose a size"
Run Code Online (Sandbox Code Playgroud)
在方法中使用可选对象的更好方法是什么?特效?
这里有一个简单的问题,当void在AS3中跟随一个函数时它在做什么?
public function sayGoodbye():void { trace("Goodbye from MySubClass");}
Run Code Online (Sandbox Code Playgroud) 我很少使用@@double_at_variable,甚至不知道该怎么称呼它.当我深入研究gems和os项目时,我经常遇到这个变量,它会抛出一个循环.
其他ruby变量无法实现什么,以及Rails等项目中的应用程序通常是什么?
$.ajax({
type: "POST",
url: "analytics/test",
data: 'correct=' + correct_or_incorrect + '&id=' + correctCharacter[3] + "'"
});
Run Code Online (Sandbox Code Playgroud)
我正在使用它将一些信息发布到rails应用程序.问题是它只是发布到应用程序控制器.
我怎样才能得到它以便网址正好 :controller => 'analytics', :action => 'test'
作为一个新手,我可能错过了一些关于Ruby的东西,但对于我的生活,我不明白这个结果.所以我有这个简单的功能:
def crazyfunc(s)
s.gsub!('a', 'b')
#return has not purpose here
end
Run Code Online (Sandbox Code Playgroud)
现在我有这么简单的几套.
s1 = 'abc'
s2 = s1
s2 = crazyfunc(str2)
puts s1
=> bbc
Run Code Online (Sandbox Code Playgroud)
为什么世界上的s1受到crazyfunc的影响?所以这样做:
def crazyfunc(s)
return s.gsub('a', 'b')
end
Run Code Online (Sandbox Code Playgroud)
不会改变str1,所以我认为它与inplace gsub正在做的事情有关.但我仍然没有得到为什么str1会被改变的逻辑.
哪里有一个很好的链接到谷歌托管的jQuery lib的列表?
我正在使用以下脚本,它很有用:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
我目前正试图让滑块运行,但它不起作用所以我正在寻找谷歌托管的jQuery库,插件等列表......
ruby ×4
jquery ×3
activerecord ×1
ajax ×1
css ×1
delayed-job ×1
find ×1
javascript ×1
logic ×1
mysql ×1
organization ×1
progress-bar ×1
variables ×1