在我的Rails应用程序中,我让用户在创建"发布"时上传图像,并且应该直接上传到S3.我在开发和生产中都遇到以下错误.
编辑:我应该注意,尝试从表单提交上的发布编辑页面上传时会发生此错误.
ArgumentError in ReleasesController#update
missing required :bucket option
Rails.root: /Users/jasondemeuse/pressed
Run Code Online (Sandbox Code Playgroud)
我以前做过这个没有使用过Carrierwave的问题,但是现在因为我正在使用Paperclip而无法弄清楚我做错了什么.我在SO和其他地方看到的所有修复都是heroku问题,但是我在开发时遇到了同样的问题而且没有一个修复有帮助.
这是相关代码("..."表示不相关的代码段):
development.rb
Appname::Application.configure do
...
config.paperclip_defaults = {
:storage => :s3,
:s3_protocol => 'http',
:s3_credentials => {
:bucket => ENV['AWS_BUCKET'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}
end
Run Code Online (Sandbox Code Playgroud)
production.rb
Appname::Application.configure do
...
config.paperclip_defaults = {
:storage => :s3,
:s3_protocol => 'http',
:s3_credentials => {
:bucket => ENV['AWS_BUCKET'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}
end
Run Code Online (Sandbox Code Playgroud)
release.rb
class Release < ActiveRecord::Base
attr_accessible ... :banner
belongs_to :user …Run Code Online (Sandbox Code Playgroud) 在过去的几天里,我遇到了一个问题,即让我的嵌套资源正确创建和显示.StackOverflow上有很多类似的问题和许多关于此的博客文章,但它们似乎都处理旧版本的Rails或其他问题.我正处于一旦我最终修复某些东西,另一个错误弹出的地步.我已经把它缩小到我犯了一个愚蠢的错误或错字太缺乏经验而无法注意到.
我有一个属于Venue模型的Jobs模型.场地工作正常,我甚至可以在每个Venue下找到我的嵌套Jobs索引,并调出New和Edit表单,但是去'Show'或创建一个新Job导致了一个undefined method错误.经过大量的搜索,我发现了很多同样的问题,并试图实现他们的修复,但现在我得到一个路由错误.
我的大部分混淆来自何时离开@,何时使用:venue_id而不是:id in params等.我看到的每个例子似乎都有不同的方式,我似乎无法让它们中的任何一个工作我.
任何正确方向的碰撞都会非常有帮助.
路由错误
No route matches {:action=>"show", :controller=>"jobs", :venue_id=>#<Venue id: 1, name: "Burger Chef", city: "Chicago", state: "Illinois", areacode: 60614, created_at: "2013-02-05 21:33:41", updated_at: "2013-02-06 23:01:05", avatar_file_name: nil, avatar_content_type: nil, avatar_file_size: nil, avatar_updated_at: nil>}
Run Code Online (Sandbox Code Playgroud)
的routes.rb
Twist::Application.routes.draw do
resources :users
devise_for :users
resources :venues do
resources :jobs
end
end
Run Code Online (Sandbox Code Playgroud)
jobs_controller.rb
class JobsController < ApplicationController
# GET /jobs
# GET /jobs.json
before_filter :get_venue
def get_venue
@venue = Venue.find(params[:venue_id])
end
def index
@jobs = @venue.jobs
respond_to …Run Code Online (Sandbox Code Playgroud) 作为练习,我试图使用模板编写数组实现,但使用函数指针作为模板参数.每次对数组进行索引时都会调用此函数.
template<typename T, int size>
using Array_fnIndex = void (*)(int index);
template<typename T, int size, typename Array_fnIndex<T, size> fnIndex>
struct Array {
T data[size];
T& operator[](int index) {
fnIndex(index);
return data[index];
}
};
// example index function
template<typename T, int size>
void checkIndex(int index) {
assert(index < size);
}
int main() {
Array<int, 10, checkIndex<int, 10>> a; // this works
Array<int, 10, checkIndex<int, 11>> b; // this also works, not what I want
Array<int, 10, checkIndex> c; // this doesn't …Run Code Online (Sandbox Code Playgroud) 我正在开发一个博客,我想添加媒体编辑器来获取我的内容并保存。我一直在互联网上搜索,并尝试使用 JavaScript 自己尝试,但它根本没有给我任何东西。
超文本标记语言
<div class="editable" id="articles" data-field-id="content">
<button id="publish_article"></button>
Run Code Online (Sandbox Code Playgroud)
JS
var editor = new MediumEditor('.editable',{
placeholder:{
text:'Type Your Article',
hideOnClick:true
})
$('#publish_article').click(function(){
$('.editable').bind('input propertychange, function(){
var x=$('#article'+$(this).attr("data-field-id")).val($(this).html());});});
Run Code Online (Sandbox Code Playgroud)