因为这个产品是新产品,所以我期待开发一个应用程序,因此对API使用有任何限制,例如:
每次执行Elixir代码或输入时,如何解决此警告iex?
警告:VM正在使用latin1的本机名编码运行,这可能会导致Elixir出现故障,因为它需要utf8.请确保您的语言环境设置为UTF-8(可以通过在shell中运行"locale"来验证)
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.utf8
LANGUAGE=en_US:
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
Codename: trusty
Run Code Online (Sandbox Code Playgroud) 我正在尝试在"位置"列之后向现有的Postgres表添加一个新列"纬度".
使用此语法将列放在正确的位置:
add_column :table, :column, :decimal, :after => :existing_column
Run Code Online (Sandbox Code Playgroud)
使用此语法可确保该字段是正确的数据类型
add_column :table, :column, :decimal, {:precision => 10, :scale => 6}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试将两者结合起来时:
add_column :table, :column, :decimal, {:precision => 10, :scale => 6}, :after => :existing_column
Run Code Online (Sandbox Code Playgroud)
我得到"ArgumentError:错误的参数数量(5为3..4)"
"不用担心",我想,"我只会把争论结合起来!":
add_column :table, :column, :decimal, {:precision => 10, :scale => 6, :after => :existing_column}
Run Code Online (Sandbox Code Playgroud)
但是这些列出现在表的末尾.我究竟做错了什么?
谢谢 :)
我有两个模型:(
User电子邮件:字符串)
Profile(名称:字符串)
class User < ActiveRecord::Base
has_one :profile
delegate :name, :name=, :to => :profile
end
Run Code Online (Sandbox Code Playgroud)
class Profile < ActiveRecord::Base
belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)
rails c
u = User.new
u.build_profile #=> init Profile
u.name = 'foo'
u.email = 'some@ema.il'
u.save #=> both User and Profile are saved
u.name = 'bar'
u.save #=> true, but changes in Profile were not saved!
u.email = 'new@ema.il'
u.save #=> true, new User email was saved, Profile - still not!
u.name #=> 'bar', but …Run Code Online (Sandbox Code Playgroud) 我知道这类问题已经被问到了.
我使用s3gem将我的文件上传到s3存储桶中.但是在s3安装gem 之后,当我启动rails服务器时它会显示以下错误:
/var/lib/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/extensions.rb:223:in `class_eval': /var/lib/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/extensions.rb:223: `@@{' is not allowed as a class variable name (SyntaxError)
/var/lib/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/extensions.rb:223: syntax error, unexpected $end
unless defined? @@{:instance_writer=>true}
^
from /var/lib/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/extensions.rb:223:in `block in cattr_reader'
from /var/lib/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/extensions.rb:222:in `each'
from /var/lib/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/extensions.rb:222:in `cattr_reader'
from /var/lib/gems/1.9.1/gems/aws-s3-0.6.3/lib/aws/s3/extensions.rb:258:in `cattr_accessor'
from /var/lib/gems/1.9.1/gems/activesupport-4.1.5/lib/active_support/cache.rb:155:in `<class:Store>'
from /var/lib/gems/1.9.1/gems/activesupport-4.1.5/lib/active_support/cache.rb:154:in `<module:Cache>'
from /var/lib/gems/1.9.1/gems/activesupport-4.1.5/lib/active_support/cache.rb:14:in `<module:ActiveSupport>'
from /var/lib/gems/1.9.1/gems/activesupport-4.1.5/lib/active_support/cache.rb:12:in `<top (required)>'
from /var/lib/gems/1.9.1/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:247:in `require'
from /var/lib/gems/1.9.1/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:247:in `block in require'
from /var/lib/gems/1.9.1/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:232:in `load_dependency'
from /var/lib/gems/1.9.1/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:247:in `require'
from /var/lib/gems/1.9.1/gems/jbuilder-2.2.5/lib/jbuilder/jbuilder_template.rb:3:in `<top (required)>'
from /var/lib/gems/1.9.1/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:247:in `require'
from …Run Code Online (Sandbox Code Playgroud) 我正在尝试帮助调试项目。当我尝试运行服务器时,我遇到了一个非常奇怪的错误。我试图用谷歌搜索宝石,但没有运气。谁有想法?我试过bundle install和bundle update。
这是我尝试运行的实际代码块。
source 'https://rails-assets.org' do
# Assets via Bower
gem 'rails-assets-lodash', '~> 2.4'
gem 'rails-assets-angular', '~> 1.2'
gem 'rails-assets-angular-spree', '= 0.0.2'
end
Run Code Online (Sandbox Code Playgroud)
错误:源不包含任何版本的 'rails-assets-lodash (~> 2.4) ruby' 运行
bundle install以安装缺少的 gem。
如果我注释掉第一个 gem,我会在处理它时遇到类似的错误。当我注释掉这个块时它确实有效,但我被指示不要改变环境。
我在dir中找到了class AvatarUploader < Carrierwave::Uploader::Base哪些商店User头像public/uploads:
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :main do
process :resize_to_limit => [128, 128]
end
Run Code Online (Sandbox Code Playgroud)
我想在production启用资源预编译的模式下启动应用程序.除了头像之外的一切都很好.当我访问任何User个人资料时,我得到:
Started GET "/users/1" for 127.0.0.1 at 2012-05-03 17:45:24 +0300
Processing by Users::UsersController#show as HTML
Parameters: {"id"=>"1"}
Rendered users/users/show.html.erb within layouts/application (2.5ms)
Completed 500 Internal Server Error in 16ms
ActionView::Template::Error ( isn't precompiled):
87: <%= image_tag @user.avatar_url(:main).to_s %>
app/views/users/users/show.html.erb:87:in `_app_views_users_users_show_html_erb___538221278131396366_28399560'
Run Code Online (Sandbox Code Playgroud)
也许有一种方法可以关闭头像的预编译(因为它们可以在应用程序在生产中运行时重新上传).请提供有关如何解决此问题的任何建议.谢谢.
ruby-on-rails pre-compilation ruby-on-rails-3 carrierwave asset-pipeline
我正在尝试执行这行代码
key_inside = CGI::unescape(key)
val_inside = CGI::unescape(val)
Run Code Online (Sandbox Code Playgroud)
它给我的错误就像
undefined method `tr' for :oauth_consumer_key:Symbol\n
Run Code Online (Sandbox Code Playgroud)
我正在使用Rails 2.3.18和ruby 1.9.3
任何人都可以建议可能出现的问题吗?
我有一个Post模特.的Post可能是一个问题类型,应答或注释(类似于StackOverflow的结构).目前,控制器正在处理任何类型的CRUD请求 Post.有一个约定,控制器需要在Rails中很薄,而且我的控制器似乎不遵循这个,因为Post任何操作中的case语句(类型选择和处理).所以我的问题是:有没有办法重组或(甚至更好)划分Post控制器来处理Question,Answer并Comment单独使用,但使用共同的Post观点?任何链接/示例将不胜感激.