我在Agile Rails书中做了练习,在application_controller.rb中有一个私有方法,定义如下:
private
def current_cart
Cart.find(session[:cart_id])
rescue ActiveRecord::RecordNotFound
cart = Cart.create session[:cart_id] = cart.id cart
end
Run Code Online (Sandbox Code Playgroud)
可以从UserController #index(方法)内部调用此方法,但我不能将其称为:
class UserController < ApplicationController
@cart = current_cart
...
Run Code Online (Sandbox Code Playgroud)
这是为什么?
我在我的Rails应用程序中使用twitter bootstrap.它在开发模式下运行良好,但不在生产中.这是Gemfile
source 'https://rubygems.org'
ruby '1.9.3'
gem 'rails'
gem 'jquery-rails'
gem 'haml-rails'
gem 'devise'
gem 'bcrypt-ruby'
gem 'curb'
gem 'nokogiri'
gem 'pg'
group :assets do
gem 'sass-rails'
gem 'twitter-bootstrap-rails'
gem 'uglifier'
end
Run Code Online (Sandbox Code Playgroud)
当我把它作为rails s -e生产它运行它给我错误
ActionView::Template::Error (couldn't find file 'twitter/bootstrap'
(in /home/alex/Documents/ruby_projects/p1/app/assets/javascripts/application.js:15)):
Run Code Online (Sandbox Code Playgroud)
的application.js
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require_tree .
Run Code Online (Sandbox Code Playgroud)
production.rb
config.serve_static_assets = false
# Compress JavaScripts and CSS
config.assets.compress = true
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile …Run Code Online (Sandbox Code Playgroud) I got some problems with some of my code. Basiclly, it's a countdown program, but whenever a button is clicked, it should refresh the countdown. I hope that makes sense. Below is some of my code, however, it's not working as intended.
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView mTextField = (TextView) findViewById(R.id.mTextField);
final Button refresh = (Button) findViewById(R.id.button1);
final int j = 30000;
int i = j;
refresh.setOnClickListener(new View.OnClickListener() { …Run Code Online (Sandbox Code Playgroud) 似乎我必须打字gvm use grails x.y.z并且gvm use groovy x.y.z每次我重启我的电脑.有没有办法配置GVM在启动时设置版本?
我domainObj1 == domainObj2在Grails中做的是通过ID比较的对象吗?如果没有,他们如何比较?
我有域类:
class MarketCommoditiesConfiguration extends MarketConfiguration {
static mapWith = "mongo"
static hasMany = ['commodities': Commodity]
static embedded = ['commodities']
...
Run Code Online (Sandbox Code Playgroud)
执行save后addToCommodities抛出以下异常.
| java.lang.NullPointerException
at org.grails.datastore.mapping.model.types.Association.getInverseSide(Association.java:71)
at org.grails.datastore.mapping.engine.NativeEntryEntityPersister.handleEmbeddedInstance(NativeEntryEntityPersister.java:1254)
at org.grails.datastore.mapping.engine.NativeEntryEntityPersister.handleEmbeddedInstance(NativeEntryEntityPersister.java:1215)
at org.grails.datastore.mapping.engine.NativeEntryEntityPersister.handleEmbeddedToMany(NativeEntryEntityPersister.java:1188)
at org.grails.datastore.mapping.engine.NativeEntryEntityPersister.persistEntity(NativeEntryEntityPersister.java:1077)
at org.grails.datastore.mapping.engine.NativeEntryEntityPersister.persistEntity(NativeEntryEntityPersister.java:1138)
at org.grails.datastore.mapping.engine.EntityPersister.persist(EntityPersister.java:160)
at org.grails.datastore.mapping.core.AbstractSession.persist(AbstractSession.java:522)
at org.grails.datastore.gorm.GormInstanceApi.doSave(GormInstanceApi.groovy:194)
at org.grails.datastore.gorm.GormInstanceApi.save_closure5(GormInstanceApi.groovy:162)
at org.grails.datastore.mapping.core.DatastoreUtils.execute(DatastoreUtils.java:302)
at org.grails.datastore.gorm.AbstractDatastoreApi.execute(AbstractDatastoreApi.groovy:37)
at org.grails.datastore.gorm.GormInstanceApi.save(GormInstanceApi.groovy:161)
at com.apposit.terra.connect.service.MarketService.addCommodityToMarket(MarketService.groovy:248)
at com.apposit.terra.connect.service.MarketServiceSpec.Test addCommodityToMarket creates a new next month configuration if current month's configuration doesn't exist(MarketServiceSpec.groovy:164)
Run Code Online (Sandbox Code Playgroud) 谷歌在这里说:
Google Play服务位置API优先于Android框架位置API(android.location),作为向您的应用添加位置感知的一种方式.如果您当前正在使用Android框架位置API,强烈建议您尽快切换到Google Play服务位置API.
任何人都可以向我解释为什么(如果我)需要切换到新的API?
我正在使用Express Generator。运行生成器后,它输出以下内容:
install dependencies:
$ cd . && npm install
Run Code Online (Sandbox Code Playgroud)
有什么意义cd .?
做得[1, 3, 5].sum()明显快[1, 3, 5].inject( 0, {x, y -> x + y}吗?