我在导航菜单中有一些静态页面.我想在当前显示的项目中添加类似"当前"的类.
我这样做的方法是添加大量的辅助方法(每个项目一个)来检查控制器和操作.
def current_root_class
'class="current"' if controller_name == "homepage" && action_name == "index"
end
<ul>
<li <%= current_root_class %>><%= link_to "Home", root_path %>
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢??我目前的方式是如此愚蠢......
我曾经用MySQL构建Ruby on Rails应用程序.
MongoDB目前越来越有名,我现在开始试一试.
问题是,我不知道MongoDB如何工作的基础理论(如果重要的话,我正在使用mongoid gem)
所以我想对使用MySQL + ActiveRecord和mongoid gem生成的模型之间的性能进行比较,是否有人可以帮我搞清楚?
books = Book.find(:all)
articles = Articles.find(:all)
Run Code Online (Sandbox Code Playgroud)
通过阅读http://guides.rubyonrails.org/layouts_and_rendering.html, 我知道我可以做类似的事情:
<%= render :partial => [customer1, employee1, customer2, employee2] %>
Run Code Online (Sandbox Code Playgroud)
并且它将适当地使用_customer和_employee部分.
所以我想做那样的事情:
materials = books + articles
materials.sort_by_created_at
Run Code Online (Sandbox Code Playgroud)
并在视图中:
<%= render :partial => materials %>
Run Code Online (Sandbox Code Playgroud)
如何合并和排序两个ActiveRecord阵列???感谢您的帮助!
我正在使用此Spreadsheet gem导出xls文件.
我的控制器中有以下代码:
def export
@data = Data.all
book = Spreadsheet::Workbook.new
sheet = book.create_worksheet :name => "data"
contruct_body(sheet, @data)
book.write "data.xls"
end
Run Code Online (Sandbox Code Playgroud)
通过这种方式,我可以填写数据并将其保存在根目录中.
但我想下载它而不是保存它.我怎么能修改代码,以便用户提示选择他的本地目录来保存文件?(如果不在服务器端保存副本,则更好)
请帮忙!
以下几种变量初始化方法之间是否存在差异?
@var ||= []
@var = [] if @var.nil?
@var = @var || []
Run Code Online (Sandbox Code Playgroud)
请分享初始化变量的方式,并说明利弊.
我想连接到那些提供OAuth API的应用程序(例如fb,twitter).
是否有一种相对简单的方法来集成这些API?
我已经成功使用了可以连接到LinkedIn OAuth API的linkedin gem.但我真的不想安装gem来处理单个应用程序,其中这些应用程序提供了类似的OAuth API.
我试图将CFUUIDRef转换为NSString*.
之前,我使用了以下代码,并且工作正常.
CFStringRef str = CFUUIDCreateString(NULL, _uuid); # _uuid is of type CFUUIDRef
return (__bridge NSString *) str;
Run Code Online (Sandbox Code Playgroud)
但是,在最近更新Xcode(或其他我没注意到的事情?)之后,上面的代码给了我错误:
使用未声明的标识符'__bridge'
我做错了什么?我该怎么解决?
===更新===
完整代码:
+ (NSString *)uuidToString:(CFUUIDRef)_uuid {
CFStringRef str = CFUUIDCreateString(NULL, _uuid); # _uuid is of type CFUUIDRef
return (__bridge NSString *) str;
}
Run Code Online (Sandbox Code Playgroud)
uuid由以下生成:
uuid = CFUUIDCreate(NULL);
Run Code Online (Sandbox Code Playgroud) 我想知道counter_cache是否可以在单表继承中工作.
对于这些型号:
class User
has_many :questions
end
class Question
belongs_to :user, :counter_cache => true
end
class SimpleQuestion < Question
end
class ComplexQuestion < Question
end
Run Code Online (Sandbox Code Playgroud)
那么下面的计数器会起作用吗?
create_table(:users) do |t|
t.integer :questions_count
t.integer :simple_questions_count
t.integer :complex_questions_count
end
Run Code Online (Sandbox Code Playgroud)
questions_count
工作simple_questions_count
和complex_questions_count
哪一个?我猜第3次,但我还想要4次.如果不是4,我怎么做4工作?
===更新===
这是一个例子:
id, user_id, question_content, type
1, 3, something, SimpleQuestion
2, 3, something, SimpleQuestion
3, 3, something, ComplexQuestion
Run Code Online (Sandbox Code Playgroud)
所以现在我想:
user.questions_count # => 3
user.simple_questions_count # => 2
user.complex_questions_count # => 1
Run Code Online (Sandbox Code Playgroud)
我的问题是,什么是基本行为,:counter_cache => …
ruby-on-rails has-many single-table-inheritance counter-cache ruby-on-rails-3
我想知道是否有哪些浏览器不支持这种选择?
1) .class-1.class-2
2) #id-1.class-2
3) .class-1 > .class-2
4) .class-1 + .class-2
5) .class[foo="bar"]
Run Code Online (Sandbox Code Playgroud)
我没有这么多不同的OS与不同的浏览器...所以不知道在哪里可以找到这些兼容性.所以请帮帮忙!
这可能是一个愚蠢的问题,但严重的是Ruby中的所有内容都适用于Rails?
我的意思是rails没有覆盖任何东西,但只是为ruby添加了新东西,对吧?
(对不起,愚蠢的问题,我刚刚得知轨约4个月,没有在Ruby中还没有任何经验(除轨道; d)).
我现在更改为使用Gem Devise进行用户身份验证.但我不知道如何匹配加密!
我知道我们可以编写一个新的加密器并将其分配给初始化器,但重点是加密器只接受4个参数(密码,延伸,盐,胡椒).但就我而言,我确实在加密中包含了用户的电子邮件和自定义的盐.
是否可以将用户的电子邮件和自定义盐传递给加密器?
PS.我正在使用database_authenticatable
我想为 XML 响应创建通用布局文件。例如,我想将 RSS 的那些通用部分包装在布局中,并将内容生成在相应的视图文件中。
例如,
# in layout/rss.xml.builder
xml.instruct!
...... # other general stuff for RSS
yield
# in items/show.xml.builder
xml.item ......
Run Code Online (Sandbox Code Playgroud)
因此,项目显示视图无需担心 RSS 包装。
然而,产量不起作用,只呈现布局,但视图没有返回任何内容。
请帮忙。
我创建了一个具有动作的控制器:
def gen_books_xml
@books = Book.find(:all, :conditions => {:owner_id => 1})
respond_to do |format|
format.xml { render :xml => @books.to_xml(:root => "Books", :skip_types=>true) }
end
end
Run Code Online (Sandbox Code Playgroud)
如何在Book模型sa中实现to_xml方法,它可以生成以下格式?
<?xml version="1.0" encoding="UTF-8"?>
<Books>
<Owner>1</Owner>
<Book><title>some title</title></Book>
<Book><title>some title</title></Book>
<Book><title>some title</title></Book>
...
</Books>
Run Code Online (Sandbox Code Playgroud)
其中只有1个Owner元素和许多Book元素
我只能输出Book元素,但不能在同一级别的Books中输出一个Owner.请帮忙!!!
activerecord ×2
ruby ×2
api ×1
arrays ×1
comparison ×1
css ×1
devise ×1
facebook ×1
gem ×1
has-many ×1
layout ×1
memoization ×1
merge ×1
mongodb ×1
mysql ×1
navigation ×1
oauth ×1
objective-c ×1
sorting ×1
twitter ×1
variables ×1
xcode4 ×1
xls ×1
xml ×1
xml-builder ×1
yield ×1