阶段
图像库应用程序.我有两个型号Handcraft和Photos.
一个手工艺品可能有很多照片,假设我有这样的模型:
Handcraft(name:string)Photo(filename:string, description:string, ...)在_form.html.erb手工艺品中,有:
<%= form_for @handcraft, html: {multipart: true} do |f| %>
# ... other model fields
<div class="field">
<%= f.label :photo %><br />
<%= f.file_field :photo %>
</div>
# ... submit button
<% end %>
Run Code Online (Sandbox Code Playgroud)
handcraft.rb 看起来像这样:
class Handcraft < ActiveRecord::Base
attr_accessible :photo
has_many :photos
mount_uploader :photo, PhotoUploader
# ...
end
Run Code Online (Sandbox Code Playgroud)
photo_uploader.rb:
class PhotoUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :thumb …Run Code Online (Sandbox Code Playgroud) 阶段:
我有一个Rails 3.2应用程序,我添加到了我的Gemfile:
gem 'rails-i18n'
Run Code Online (Sandbox Code Playgroud)
然后我执行bundle install。
在视图中,我请求一条i18n消息,例如:
<%= l Time.now, format: :short %>
Run Code Online (Sandbox Code Playgroud)
在中config/initializers/locate.rb,我设置默认位置:
I18n.default_locale = :es
I18n.available_locales = :es
Run Code Online (Sandbox Code Playgroud)
问题:
I18n::MissingTranslationData in Events#index
translation missing: es.time.formats.short
Run Code Online (Sandbox Code Playgroud)
怎么了?是rails-i18n不是装的对不对?
测试:
让我们添加puts I18n.load_path的config/initializers/locate.rb文件:
I18n.default_locale =:es I18n.available_locales =:es
放置I18n.load_path
然后重新启动应用程序,asi可以看到列出了所有加载的路径:
/home/foo/.rvm/gems/1.9.3@myapp/gems/activesupport-3.2.13/lib/active_support/locale/en.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/activemodel-3.2.13/lib/active_model/locale/en.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/activerecord-3.2.13/lib/active_record/locale/en.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/actionpack-3.2.13/lib/action_view/locale/en.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/es-MX.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/es-PE.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/es-VE.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/zh-CN.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/af.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/bg.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/ar.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/ca.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/bn.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/az.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/bs.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/da.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/de.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/cs.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/cy.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/zh-TW.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/fa.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/el.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/en.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/eo.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/es.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/fi.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/et.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/eu.yml
/home/foo/.rvm/gems/1.9.3@myapp/gems/rails-i18n-0.7.3/rails/locale/fr.yml …Run Code Online (Sandbox Code Playgroud) 假设我们有一些日期范围,例如:
ranges = [
[(12.months.ago)..(8.months.ago)],
[(7.months.ago)..(6.months.ago)],
[(5.months.ago)..(4.months.ago)],
[(3.months.ago)..(2.months.ago)],
[(1.month.ago)..(15.days.ago)]
]
Run Code Online (Sandbox Code Playgroud)
和Post具有:created_at属性的模型.
我想找到created_at值在此范围内的帖子,因此我们的目标是创建一个类似的查询:
SELECT * FROM posts WHERE created_at
BETWEEN '2011-04-06' AND '2011-08-06' OR
BETWEEN '2011-09-06' AND '2011-10-06' OR
BETWEEN '2011-11-06' AND '2011-12-06' OR
BETWEEN '2012-01-06' AND '2012-02-06' OR
BETWEEN '2012-02-06' AND '2012-03-23';
Run Code Online (Sandbox Code Playgroud)
如果您只有一个这样的范围:
range = (12.months.ago)..(8.months.ago)
Run Code Online (Sandbox Code Playgroud)
我们可以做这个查询:
Post.where(:created_at => range)
Run Code Online (Sandbox Code Playgroud)
和查询应该是:
SELECT * FROM posts WHERE created_at
BETWEEN '2011-04-06' AND '2011-08-06';
Run Code Online (Sandbox Code Playgroud)
有没有办法使用这样的表示法来进行此查询Post.where(:created_at => range)?
构建此查询的正确方法是什么?
谢谢
您好我升级的Rails 2个应用程序到Rails 3.当我要运行是这样的:rails c,rake -T,等它抛出这样的:
$ rails c
/usr/lib/ruby/gems/1.8/gems/railties-3.0.9/lib/rails/railtie/configuration.rb:77:in `method_missing': undefined method `assets' for #<Rails::Application::Configuration:0xb6569120> (NoMethodError)
from /home/neoriddle/proyectos/interkids/config/application.rb:49
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.9/lib/rails/commands.rb:21:in `require'
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.9/lib/rails/commands.rb:21
from script/rails:6:in `require'
from script/rails:6
Run Code Online (Sandbox Code Playgroud)
这是rails c和下一个日志正在运行rake -T:
$ rake -T --trace
rake aborted!
undefined method `assets' for #<Rails::Application::Configuration:0xb658aa64>
/usr/lib/ruby/gems/1.8/gems/railties-3.0.9/lib/rails/railtie/configuration.rb:77:in `method_missing'
/home/neoriddle/proyectos/interkids/config/application.rb:49
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
/home/neoriddle/proyectos/interkids/Rakefile:5
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load_rakefile'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:501:in `raw_load_rakefile'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:82:in `load_rakefile'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:81:in `load_rakefile'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:65:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/bin/rake:33
/usr/bin/rake:19:in `load'
/usr/bin/rake:19 …Run Code Online (Sandbox Code Playgroud) 阶段:
我正在尝试在Eclipse(Spring Tool Suite,版本:)中编译Maven项目3.2.0.RELEASE。
每个项目编译都将抛出以下内容:
Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.5
Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.5
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
我有这样的功能:
void myfunc(int** arr, int n) {
int i, j;
for(i=0; i<n; ++i) {
for(j=0; j<n; ++j) {
printf("%d,", *(arr + i*n + j) ); // Print numbers with commas
}
printf("\n"); // Just breakline
}
}
Run Code Online (Sandbox Code Playgroud)
在其他函数中我有一个二维数组,如下所示:
int main() {
int seqs[8][8] = {
{0, 32, 36, 52, 48, 16, 20, 4},
{0, 16, 20, 52, 48, 32, 36, 4},
{0, 32, 36, 44, 40, 8, 12, 4},
{0, 8, 12, 44, 40, 32, 36, 4},
{0, 32, 36, …Run Code Online (Sandbox Code Playgroud) c pointers function multidimensional-array pointer-to-pointer
我想打印字符串的转义或原始版本。例如:给定这个字符串:
"a,
b,
c,
d"
Run Code Online (Sandbox Code Playgroud)
我想得到
"a,\nb,\nc,\nd".
Run Code Online (Sandbox Code Playgroud)
是否可以?
如何在不渲染此文件的情况下向客户端发送文件(PDF,CSV等)?
例如,想象一下学生控制器(使用脚手架创建),我们有'新'形式和'创建'动作:
def new
@student = Student.new
respond_to do |format|
format.html # new.html.erb
end
end
def create
@student = Student.new(params[:student])
respond_to do |format|
if @student.save
flash[:notice] = 'Student created'
format.html { redirect_to(@student) }
else
format.html { render :action => "new" }
end
end
end
Run Code Online (Sandbox Code Playgroud)
成功创建学生后,它将重定向到"显示"模板.那没问题!但我需要发送给客户端 - 例如PDF文件,然后呈现'show'动作.
此PDF文件类似于客户端的创建收据.
额外信息:现在使用Prawn制作PDF并通过以下代码发送给客户:
respond_to do |format|
format.pdf { render :layout => false }
end
Run Code Online (Sandbox Code Playgroud)
总之,我需要获得填写的表格,创建学生,PDF发送到浏览器(作为创建收据)和渲染"秀"的行动,以显示创建学生.
非常感谢你.