小编MrD*_*anA的帖子

为什么在ApplicationController上定义为private的方法可以在派生类的方法内部调用,但不能在派生类本身内部调用?

我在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)

这是为什么?

ruby oop ruby-on-rails ruby-on-rails-3

3
推荐指数
1
解决办法
1615
查看次数

提交表格而不重定向

我想提交一个表单到操作页面,这是一个不同的站点,但我不想被定向到操作页面.我已经尝试了所有的东西,但它不适合我,我听说ajax有人可以给我一些例子

我想要的是:

  • 我想提交一份表格,但不能重定向
  • 提交表单,因为我被重定向到行动页面,我被重定向到我的原始页面.

我的代码:

<form id="user-login-form" accept-charset="UTF-8" action="http://xxxxxn"  method="post">
<div>
<div class="user_login_block&amp;op=Log+in"><label for="edit-name"><span class="form-required" title="This field is required.">*</span></label>
<input type="hidden" />
<div>
<div class="user_login_block&amp;op=Log+in"><label for="edit-name"><span class="form-required" title="This field is required.">*</span></label>
<input type="hidden" />
<input class="form-text required" id="edit-name" type="hidden" maxlength="60" name="name" size="15" value="xxxxxx2" /></div>
<div class="form-item form-type-password form-item-pass"><label for="edit-pass"></label>
<input class="form-text required" id="edit-pass" type="hidden" maxlength="60" name="pass" size="15" value="9sQ&amp;ampzW#7PKhpqbzcCFz9jvY" />
<input type="hidden" /></div>
</div>
<input type="hidden" name="form_build_id" value="form-odWc3MFMsKIL_5vCQtPmiv0AVf0tFwBu7eP2-8" />
<input type="hidden" name="form_id" value="user_login_block" />
<div class="form-actions form-wrapper" id="edit-actions"><input class="form-submit" …
Run Code Online (Sandbox Code Playgroud)

html javascript ajax redirect

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

如何使用Perl正确地将非英文字符打印到文件?

我使用Perl打印从一个文件读取到另一个文件的一些数据.有时我会读非英文字符,例如é等重音字符.但是,做:

print FILE_HANDLER "... $variable ...";
Run Code Online (Sandbox Code Playgroud)

不保留重音.é实际上被打印为"Ã".

如何打印这些字符以便妥善保存?有关更多信息,我打开和写入的文件是这样完成的:

open READ_FILE, "<", "file.xml" or die $!;
open WRITE_FILE, ">", "file.txt" or die $!;
Run Code Online (Sandbox Code Playgroud)

感谢你的帮助.

perl

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

Mac与PC文本编码

当您导出音乐库时,我已经注意到这与iTunes有所不同.

我有一首带有é的歌曲(也就是说,一个带有尖锐口音的小拉丁语)当我在Windows中导出库时,它会被编码为%C3%A9,但是当我从Mac导出库时,正常的'e '打印,然后是%CC%81.

例:

Song Name: Héllo World
Windows Export: H%C3%A9llo World
Mac Export: He%CC%81llo World
Run Code Online (Sandbox Code Playgroud)

这对我正在制作的程序非常重要,在Windows版本中,我解码编码,但现在如果文件来自Mac,则无法正常工作.

那为什么会有这种差异呢?有没有可以看到差异的地方,看看Mac编码是什么?可能有一个Object-C例程来解码这些字符串吗?

谢谢.

macos utf-8 character-encoding

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

无法批量分配受保护的属性:title,description,cloth_type,pic Rails 3

当对/ cloth/create进行POST时,我得到一个警告:无法批量分配受保护的属性:title,description,cloth_type,pic

cloth.rb

class Cloth   
  include Mongoid::Document   
  include Mongoid::Timestamps 
  include Mongoid::MultiParameterAttributes   attr_accessible :pics

  field :title   
  field :description   
  field :cloth_type   
  belongs_to :seller   
  has_many :pics

  attr_accessible :pic_attributes   
  accepts_nested_attributes_for:pics
end
Run Code Online (Sandbox Code Playgroud)

pic.rb

class Pic   
  include Mongoid::Document
  include Mongoid::Paperclip  

  has_mongoid_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" },
  :storage => :cloud_files,
  :cloudfiles_credentials =>  "#{Rails.root}/config/rackspace.yml",
  :path => ":attachment/:id/:timestamp_:style.:extension"

  belongs_to :cloth
  attr_accessible :cloth_attributes

  def create        
    @cloth = Cloth.create!(params[:cloth])  
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails mass-assignment mongoid ruby-on-rails-3

-4
推荐指数
1
解决办法
768
查看次数