我想定义一个可以访问局部变量的类方法.因此,对于每个类的实例,这将是不同的.我知道你可以使用lambda创建一个类方法动态,就像你在named_scope中使用它一样.但是,这可以针对特定于实例的值完成吗?
详细说明,它是rails中paperclip插件的has_attached_file方法.我想为样式哈希传递lambda,以便图像样式可以基于存储在DB中的对象的属性.这可能吗?
我想在Ubuntu 9.10上运行heroku
我打字了
sudo gem install heroku
Run Code Online (Sandbox Code Playgroud)
一切正常,但是当我去跑步时:
heroku list
Run Code Online (Sandbox Code Playgroud)
我明白了
heroku:命令未找到
我正在写第一个rails的插件.该插件应该扩展actioncontroller :: base
所以在完成这里的教程后,我做了...
# Foo
class << ActionController::Base
def function_name
Run Code Online (Sandbox Code Playgroud)
假设插件被称为foo ...但是当我从一个动作调用function_name时,没有任何反应......似乎甚至没有调用function_name.没有方法丢失错误,所以我确定插件已经加载...
我真的很难受!
在给定页面的URL的情况下,是否有Rails gem或插件来获取页面上的图像URL列表?
我正在为Rails创建一个插件,它会为ActiveRecord的查找器添加有限的内存缓存.功能本身已经足够成熟,但我不能为我的生活让单元测试与插件一起工作.
我现在在vendor/plugins/my_plugin/test/my_plugin_test.rb下有一个ActiveSupport :: TestCase的标准子类,有几个基本测试.我尝试从插件目录运行'rake test',我已经确认此任务使用测试用例加载ruby文件,但它实际上并没有运行任何测试.
我在适用的情况下遵循了Rails插件指南(http://guides.rubyonrails.org/plugins.html),但它似乎已经过时了(它表明Rails现在自动执行的操作等)
我得到的唯一输出是:
Kakadu:ingenious_record adam$ rake test
(in /Users/adam/Sites/1_PRK/vendor/plugins/ingenious_record)
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -Ilib:lib:test "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake/rake_test_loader.rb" "test/ingenious_record_test.rb"
Run Code Online (Sandbox Code Playgroud)
最简单的测试用例如下所示:
require 'test_helper'
require 'active_record'
class IngeniousRecordTest < ActiveSupport::TestCase
test "example" do
assert false
end
end
Run Code Online (Sandbox Code Playgroud)
这肯定会产生至少一些输出,并且该文件中唯一的测试应该产生一个失败的断言.
任何想法,我可以做什么让Rails运行我的测试?
在标签#show中,我列出了带有该标签的所有条目.在页面的底部,我希望有类似的东西:"相关标签:链接,列表,相关标签"我的观点如下:
<h2><%= link_to 'Tag', tags_path %>: <%= @tag.name.titleize %></h2>
<% @entries.each do |entry| %>
<h2><%= link_to h(entry.name), entry %></h2>
<%- unless entry.phone.empty? -%>
<p><%= h(entry.phone) %></p>
<%- end -%>
<%- unless entry.address.empty? -%>
<p><%= h(entry.address) %></p>
<%- end -%>
<%- unless entry.description.empty? -%>
<p><%= h(entry.description) %></p>
<%- end -%>
<p2><%= link_to "more...", entry %><p2>
<% end %>
Related Tags:
<% @related.each do |tag| %>
<%= link_to h(tag.tags), tag %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
tags_controller.rb:
def show
@title = Tag.find(params[:id]).name
@tag = …Run Code Online (Sandbox Code Playgroud) ruby ruby-on-rails uiviewcontroller ruby-on-rails-plugins acts-as-taggable-on
我已经安装了Paperclip插件,试图上传我的kase模型的头像.由于某种原因,选择文件按钮显示,我可以选择一个文件 - 但是当我点击更新kase时 - 它将我带到显示页面,但是miss.png而不是所选图像.
kase.rb
class Kase < ActiveRecord::Base
def self.all_latest
find(:all, :order => 'created_at DESC', :limit => 5)
end
def self.search(search, page)
paginate :per_page => 5, :page => page,
:conditions => ['name like ?', "%#{search}%"],
:order => 'name'
end
# Paperclip
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end
Run Code Online (Sandbox Code Playgroud)
kases_controller.rb
# GET /kases/new
# GET /kases/new.xml
def new
@kase = Kase.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @kase …Run Code Online (Sandbox Code Playgroud) 我最近在ruby和rails中受到了关注,但我在blog/podcast/book中经常遇到的是他们总是教会如何使用ruby或rails plugin/ruby而不是写一个.我们真的总是需要使用插件,甚至是授权之类的东西吗?认证?是真的浪费时间还是难以从头开始写作?然后,如果铁路说难以浪费时间让网络开发减少痛苦吗?或者我在概念方面错了?目标?还是其他什么?铁轨?有人可以指导我吗?
我正在为Rails3制作一个插件.我想允许用户覆盖一些设置.目前我在我的插件的Rails :: Engine类中执行此操作,如:
config.my_setting = :default_value unless config.respond_to? :my_setting
Run Code Online (Sandbox Code Playgroud)
这似乎是处理这个问题的错误方法.大多数插件在Rails3中使用是否有更好的方法或约定?
在一个新项目上工作,继续在rails 3.0上使用ruby或开始使用3.1是否明智?
当我意识到我在当前项目中有多深入时,我才想到这个问题.而不是后来切换我想知道现在进行切换是否合适?或者是否为时尚早?
rubygems ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3 ruby-on-rails-3.1
ruby-on-rails ×10
ruby ×4
paperclip ×2
rubygems ×2
gem ×1
heroku ×1
plugins ×1
unit-testing ×1