Tag: ruby on rails

在Rails中联系Form Mailer 4

我正在尝试在Rails 4中构建一个联系表单,其中表单采用名称,电子邮件和正文,并将其发送到我的电子邮件地址。 点击“提交”后,该应用会正确地重定向回联系人页面,但似乎没有电子邮件发送。 的routes.rb match ‘/send_mail’, to: ‘contact#send_mail’, via: ‘post’ contact_email.html.erb true %> true %> You have received the following email from contact_controller.rb def send_mail name = params[:name] email = params[:email] body = params[:comments] ContactMailer.contact_email(name, email, body).deliver redirect_to contact_path, notice: ‘Message sent’ end contact_mailer.rb class ContactMailer < ActionMailer::Base default to: # my email address def […]

使用ActiveRecord在数据库中存储数组

我在rails 2.3.8&我使用mysql作为db适配器。 我想在我的数据库中存储数组。 在搜索之后,我可以拿出这篇非常有用的文章 。 现在我需要使用GUI进行输入而不仅仅是服务器控制台。 所以说我有一个名为nums的文本字段,逻辑上应该有int数组。 什么应该是nums的格式,以便从该字符串中检索和存储数组变得容易?

Rails形成validation条件绕过

我有一个rails模型,可以validation2个表单值的唯一性。 如果这两个值不唯一,则显示validation错误,并将“提交”按钮更改为“重新提交”。 我想允许用户单击“重新提交”按钮并绕过模型validation。 我想从railsvalidation文档中做这样的事情: validates_uniqueness_of :value, :unless => Proc.new { |user| user.signup_step <= 2 } 但是我的模型中没有值,我可以检查…只是具有“重新提交”值的参数。 关于如何做到这一点的任何想法?

错误后保留表单字段(RoR)

validation后,我收到一个错误,然后我又回到了:action => :new 。 表单上的某些字段已经填满,所以即使在出现错误消息之后我也要保持填充。 怎么做?

Ruby on Rails – 更改事件的下拉框

我的应用程序中有两个下拉框。 根据第一个combobox中选择的值,应填充第二个下拉框中的值。这些值应来自数据库。 请帮我。

在所有文件中添加“#coding:utf-8”

我能以某种方式配置Rails以避免需要在所有文件中添加# coding: utf-8吗? 或者我必须手动将其添加到每个文件? UPD 为了改善我的生活,我发现了这个gem: magic_encoding 它不会解决问题,但它会为每个文件添加magick线。 相关主题: 为什么升级到Rails 3后所有字符串都是ASCII-8BIT?

如何使用Ruby on Rails将数据从控制器传递到模型?

如何将数据从控制器传递到模型? 在我的application_controller我获取用户的位置(州和城市)并包含一个before_filter ,以便通过所有控制器访问它 before_filter :community def community @city = request.location.city @state = request.location.state @community = @city+@state end 然后我尝试通过以下方法将控制器中检索到的数据添加到模型中: before_save :add_community def add_community self.community = @community end 但是,数据从未从控制器传递到模型。 如果我使用: def add_community @city = request.location.city @state = request.location.state @community = @city+@state self.community = @community end request.location.city和request.location.state方法不能从模型中运行。 我知道其他一切都有效,因为如果我将@city和@state定义为字符串,在def_community下,那么一切正常,除了我没有动态变量,只是放在模型中的字符串。 此外,我知道请求在控制器/视图中工作,因为我可以让它们显示正确的动态信息。 问题只是将数据从控制器传递到模型。 非常感谢你的时间。

在`require’:没有这样的文件加载 – iconv(LoadError)

➜ expertiza git:(master) ✗ ruby -v ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin11.1.0] ➜ expertiza git:(master) ✗ rails -v Rails 2.3.14 ➜ expertiza git:(master) ✗ script/server /Users/HPV/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-2.3.14/lib/active_support/inflector.rb:3:in `require’: no such file to load — iconv (LoadError) from /Users/HPV/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-2.3.14/lib/active_support/inflector.rb:3 from /Users/HPV/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-2.3.14/lib/active_support/core_ext/integer/inflections.rb:1:in `require’ from /Users/HPV/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-2.3.14/lib/active_support/core_ext/integer/inflections.rb:1 from /Users/HPV/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-2.3.14/lib/active_support/core_ext/integer.rb:2:in `require’ from /Users/HPV/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-2.3.14/lib/active_support/core_ext/integer.rb:2 from /Users/HPV/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-2.3.14/lib/active_support/core_ext.rb:8:in `require’ from /Users/HPV/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-2.3.14/lib/active_support/core_ext.rb:8 from /Users/HPV/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-2.3.14/lib/active_support/core_ext.rb:8:in `each’ […]

Rails引擎扩展function

我有一个引擎定义了一些模型和控制器。 我希望能够在我的应用程序中扩展某些模型/控制器的function(例如添加方法),而不会从引擎中丢失原始模型/控制器function。 在我读到的任何地方,您只需要在应用程序中定义具有相同名称的控制器,Rails将自动合并它们,但它对我不起作用,引擎中的控制器被简单地忽略(我不认为它甚至被加载)。

使用Ruby 1.9.3时“证书validation失败”OpenSSL错误

我在Mac OS 10.6.8上使用Ruby 1.9.3p0(使用rvm安装)。 当我尝试使用GitHub上托管的应用程序模板创建一个新的Rails应用程序时 ,使用它(例如): $ rails new myapp -m https://github.com/RailsApps/rails3-application-templates/raw/master/rails3-mongoid-devise-template.rb -T -O 我收到此错误消息: /Users/me/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:799:in“connect”:SSL_connect return = 1 errno = 0 state = SSLv3读取服务器证书B:证书validation失败 (OpenSSL的:: SSL :: SSLError) 我理解Ruby语言解释器使用OpenSSL连接到GitHub来请求应用程序模板文件。 GitHub要求使用SSL进行所有连接。 连接失败,因为OpenSSL无法validation服务器证书。 我可以通过下载证书文件来解决问题: $ cd / opt / local / etc / openssl $ sudo curl -O http://curl.haxx.se/ca/cacert.pem $ sudo mv cacert.pem cert.pem 使用Ruby 1.9.2我没有问题。 […]