小编Cas*_*lle的帖子

将国家/地区默认为"美国"

我试图使表单中的国家/地区输入的默认值为"美国".我正在使用简单形式的gem和国家选择gem.

在简单表单初始值设定项中,我设置了此默认值

  config.country_priority = [ "United States" ]
Run Code Online (Sandbox Code Playgroud)

这使得最高值与美国一样正确,但默认值为"乌干达".

在_form视图中,我执行了以下操作:

<%= f.input :country, :default => [ 'United States' ] %>
Run Code Online (Sandbox Code Playgroud)

我重新启动了Rails,它仍然默认为乌干达.

我也尝试过以下方法:

<%= f.input :country, :default => 'United States' %>
Run Code Online (Sandbox Code Playgroud)

<%= f.input :country, :selected => 'United States' %>
Run Code Online (Sandbox Code Playgroud)

我接下来应该尝试什么?

ruby-on-rails

7
推荐指数
1
解决办法
2860
查看次数

将python模块导入SublimeREPL

当我尝试在SublimeREPL中为Python编写脚本时,它说:

ImportError: No module named 'matutil'
Run Code Online (Sandbox Code Playgroud)

我可以更改什么设置,以便Python REPL查找正确的目录?

python sublimetext2 sublimerepl

5
推荐指数
0
解决办法
1123
查看次数

rake undefined方法`[]'为nil:NilClass

我刚刚在部署服务器上安装了Rails 3.1应用程序.

当我试图跑

sudo rake db:setup RAILS_ENV=“production”
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息说

rake aborted!
undefined method `[]' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

用--trace说:

** Invoke db:setup (first_time)  
** Invoke db:create (first_time)  
** Invoke db:load_config (first_time)  
** Invoke rails_env (first_time)  
** Execute rails_env  
** Execute db:load_config  
** Execute db:create  
rake aborted!  
undefined method '[]' for nil:NilClass  
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-3.1.0/lib/active_record/railties/databases.rake:74:in 'rescue in create_database'  
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-3.1.0/lib/active_record/railties/databases.rake:54:in 'create_database'  
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-3.1.0/lib/active_record/railties/databases.rake:44:in 'block (2 levels) in <top (required)>'  
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:205:in 'call'  
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:205:in 'block in execute'  
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:200:in 'each'  
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:200:in 'execute'  
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:158:in 'block in invoke_with_call_chain'  
/usr/local/lib/ruby/1.9.1/monitor.rb:201:in 'mon_synchronize'  
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:151:in 'invoke_with_call_chain'  
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:176:in …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails-3

2
推荐指数
1
解决办法
2万
查看次数

使用Rails 3.2使用Agile Web教程测试新操作时的批量分配安全性错误

我正在通过Agile Web教程进行一些细微的更改.当我在Rails 3.2中运行功能测试时,我收到以下错误:

test_should_get_new(OrdersControllerTest):
ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes: cart, deal
Run Code Online (Sandbox Code Playgroud)

这是orders_controller_test.rb代码:

test "should get new" do
  cart = Cart.create
  session[:cart_id] = cart.id
  LineItem.create(cart: cart, deal: deals(:one))

  get :new
  assert_response :success
end
Run Code Online (Sandbox Code Playgroud)

这是订单夹具:

one:
  name: MyString
  address: MyText
  email: MyString
  pay_type: Check
Run Code Online (Sandbox Code Playgroud)

这是行项目装置:

one:
  deal: one
  order: one
Run Code Online (Sandbox Code Playgroud)

这是交易夹具:

one:
  title: MyString
  description: MyText
  image_url: MyString
  price: 9.99
Run Code Online (Sandbox Code Playgroud)

这是订单控制器代码:

def new
  @cart = current_cart
  if @cart.line_items.empty?
    redirect_to store_url, notice: "Your cart is empty"
    return
  end

  @order = Order.new

  respond_to do …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails-3

2
推荐指数
1
解决办法
836
查看次数