我知道我可以定义实例变量,例如:
def user_register(username, email)
@username = username
@email = email
mail(:to => email, :subject => "Welcome!", :template_name => "reg_#{I18n.locale}")
end
Run Code Online (Sandbox Code Playgroud)
但是,有没有办法使用局部变量,就像传递:locals到partials?
validate :updatable? # First validation there is
with_options :if => Proc.new { |object| object.errors.empty? } do |updatable|
updatable.with_options :if => "self.current_step == basic" do |step|
validates .... bla-bla bla
Run Code Online (Sandbox Code Playgroud)
因此,在进行任何验证之前,将调用可更新子例程,并errors[:base]使用适当的错误填充数组,这意味着该对象不可更新.而且我想它跳过验证的其余部分如果在这个子程序中发现任何错误,但上述例子不工作-它执行所有的验证.
但是,如果我改变:if => "self.current_step == basic",:if => "self.errors.empty? && self.current_step == basic"就像魅力一样.
我做错了什么?示例显示,嵌套with_option应该可行.
有人能帮我吗 ?提前致谢.
所以,昨天我有一个问题如何在"/ root"目录中安装wordpress.我在那个方面并不是很成功,我放弃了那个.
所以,现在wordpress位于" / var/www/wordpress "下(所以它位于单独的文件夹下)文件夹(我使用Ubuntu 12.04 LTS,如果重要的话).
我的问题是,在我配置完所有内容后(一切都像魅力一样)我被重定向到管理面板页面.一切都很好,直到我试图访问博客的那一刻.
我的博客的URL地址是:"blog.mysite.com".这就是我使用NGINX的原因,因为我在一台服务器上有两个不同的应用程序(和环境),我需要区分它们.
所以,事实是:blog.mysite.com/wp-admin(/wp-login.php)工作正常,但是当我访问首页时:blog.mysite.com,它一直告诉我有一个无限重定向循环(301重定向根据nginx访问日志文件).
在管理面板中,我将"WordPress地址(URL)"和"站点地址(URL)"设置为:" http://blog.mysite.com ".将其中任何一个修改为其他内容,例如:" http://blog.mysite.com/wordpress "根本没有帮助!
".htaccess"文件为空,但我使用默认永久链接,所以不应该是一个问题(但是,我不确定).
nginx和apache2根指令都指向"/ var/www/wordpress".如果重要的话,静态文件(css,js)正在工作.
我该如何解决这个问题?任何帮助深表感谢!
先感谢您!
我是C的新手,我在向程序输入数据时遇到了问题.
我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
int a;
char b[20];
printf("Input your ID: ");
scanf("%d", &a);
printf("Input your name: ");
gets(b);
printf("---------");
printf("Name: %s", b);
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它允许输入ID,但它只是跳过其余的输入.如果我改变这样的顺序:
printf("Input your name: ");
gets(b);
printf("Input your ID: ");
scanf("%d", &a);
Run Code Online (Sandbox Code Playgroud)
它会工作.虽然,我不能改变秩序,我需要它原样.有人能帮我吗 ?也许我需要使用其他一些功能.谢谢!
好.例如,我在我的txt文件中有这一行:
1|1,12;7,19;6,4;8,19;2,2
如你所见,它有2个部分,由...分隔|.我没有问题获得两个部分,并1,12;7,19;6,4;8,19;2,2使用;分离器分离第二部分.但我确实有进一步分离的问题,,以获得每组的第一和第二个数字.
这是我目前的代码:
result = strtok(result, ";");
while(result != NULL ) {
printf("%s\n", result);
result = strtok(NULL, ";");
}
Run Code Online (Sandbox Code Playgroud)
它输出我:
1,12
7,19
6,4
8,19
2,2
太好了.但是,当我尝试"strtok"(我正在使用此方法进行拆分)时,如下所示:
result = strtok(result, ";");
while(result != NULL ) {
//printf("%s\n", result);
help = strtok(result, ",");
while(help != NULL) {
printf("<%s>", help);
help = strtok(NULL, ",");
}
result = strtok(NULL, ";");
}
Run Code Online (Sandbox Code Playgroud)
我只得到"<1>,<12>",就像这组数字中只有一组一样.我不明白其他数字在哪里.相反,输出应该是:<1>,<12>,<7>,<19>,<6>,<4>,<8>,<19>,<2>,<2>.有人可以给出一个解决方案,如何获得每组的EACH号码这组数字.也许有其他方法或我做错了:)
谢谢!
我有必要这样做,因为这对我来说似乎合乎逻辑:
def notification(vehicle)
@vehicle = vehicle
mail(:to => @vehicle.owner.email_address, :template_name => "n_o")
mail(:to => @vehicle.booker.email_address, :template_name => "n_b")
Run Code Online (Sandbox Code Playgroud)
结束
问题是:我只收到最后一封电子邮件.因此,在上面的示例中,只有预订者才会收到电子邮件,并且没有任何内容发送给所有者.
问题是什么 ?怎么解决?我应该创建两个单独的邮件功能,例如notification_owner(vehicle)和notification_booker(vehicle),还是有一个更简单的解决方案?
谢谢!
我是Scala的新手(来自Ruby世界).
而且我对Scala中的"traits"概念感到好奇(如果我理解正确的话,它应该〜类似于ruby中的模块).
这是一个用例.
假设我有一个User像这样定义的类:
class User {
def password() : String = "generating a password (default)"
}
Run Code Online (Sandbox Code Playgroud)
假设我有一个特性SecurePasswords,我想用它"覆盖" User类中定义的密码方法.
trait SecurePasswords {
def password() : String = "generating a secure password (non-default)"
}
Run Code Online (Sandbox Code Playgroud)
并且,假设,我希望它适用于User类的实例,而不是适用于整个类本身.
val a = new User
val b = new User with SecurePasswords
a.password() # generating a password (default)
b.password() # generating a secure password (non-default)
Run Code Online (Sandbox Code Playgroud)
现在这是我期望的理想输出,但是,我得到了不同的错误,如" anonymous class inherits conflicting members ... (Note: this can be resolved declaring etc …
大家!
我对我的:username字段进行了一次小验证,该字段应该是4到30个字符.我写了一个验证::length => { :within => 4..30, :message => I18n.t('activerecord.errors.range')- 我想为所有类型的错误显示单个错误消息(不喜欢,too_long或too_short),但这里的问题是 - 我可以将最小值和最大值传递给翻译,具有类似的内容:用户名应在4到30个字符之间.目前我有:range: "should be between %{count} and %{count} characters",显然不起作用(只是为了检查).
是否可以从范围中获取这些值?
谢谢大家的建议!
我想预加载配置(来自".yml"文件).在我的一个初始化文件(config/initializers/facebook.rb)中,我有以下代码行:
FACEBOOK_CONFIG = YAML.load_file("#{Rails.root}/config/facebook.yml")[Rails.env]
Run Code Online (Sandbox Code Playgroud)
因此,它就像"开发"模式中的魅力一样.一旦我切换到生产模式,它一直告诉我,FACEBOOK_CONFIG是我的" facebook.js.coffee.erb"文件的未初始化常量,位于assets/javascript(如果重要),如果我想要"rake assets:precompile".我试过做随机的东西,比如:RAILS_ENV=production bundle exec rake assets:precompile或者
rake assets:precompile:all
,但没有运气
我已经尝试initialize_on_precompile = true为我的生产环境分配" "变量(尽管默认情况下应该是这样),以防万一.
为什么它在生产模式下不起作用(但是,我想强调一点,它在开发环境中起作用(!)).
有人可以帮助那个吗?
assets initialization ruby-on-rails ruby-on-rails-3 asset-pipeline
假设我有2个YAML文件:
1)application.yml
en:
variable: "Hello World"
Run Code Online (Sandbox Code Playgroud)
2)user.yml
en:
variable: <Here I want to get value from application.yml -> "Hello World" >
Run Code Online (Sandbox Code Playgroud)
起初我虽然可以使用引用:
1)application.yml
en:
variable: &variable "Hello World"
Run Code Online (Sandbox Code Playgroud)
2)user.yml
en:
variable: *variable
Run Code Online (Sandbox Code Playgroud)
但事实证明,只有在一个文件中声明的项目才有可能.有什么办法可以从application.yml中定义的变量中获取值吗?