小编dan*_*mcc的帖子

Rails日期选择选项?

我在rails应用程序中有一个date_select字段,如下所示:

<%= f.date_select :dateinstructed %>
Run Code Online (Sandbox Code Playgroud)

我想重新排序下拉列表显示它们输出为:

DD/MM/YYYY
Run Code Online (Sandbox Code Playgroud)

根据我所读到的,您可以使用:order选项,但我不确定如何实际使用此选项:

<%= f.date_select :dateinstructed, :order = {:day, :month, :year} %>
Run Code Online (Sandbox Code Playgroud)

显然这是不对的,但我应该用什么代替:

:day, :month, :year
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

谢谢,

丹尼

select ruby-on-rails date internationalization

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

如果今天显示Rails created_at?

是否可以显示created_at日期,仅当该日期与今天的日期匹配时?

<%=h k.created_at %>
Run Code Online (Sandbox Code Playgroud)

这可能吗?或者应该在控制器而不是视图中完成?

谢谢,

丹尼

我的环境中有以下内容.rb:

ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS.merge!(:default => '%d/%m/%Y')
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(:default => '%d/%m/%Y')
Run Code Online (Sandbox Code Playgroud)

datetime ruby-on-rails date

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

Rails用GMail发送邮件

我在rails 2.3.5并安装了最新的Ruby,我的应用程序运行良好,但GMail电子邮件除外.

我正在尝试设置以前有效的gmail imap连接,但现在不想知道.

这是我的代码:

# Be sure to restart your server when you modify this file

# Uncomment below to force Rails into production mode when
# you don't control web/app server and can't set it the proper way
# ENV['RAILS_ENV'] ||= 'production'

# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION

# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')


Rails::Initializer.run do |config|
  # Gems …
Run Code Online (Sandbox Code Playgroud)

email gmail imap ruby-on-rails

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

清除GIT中的所有提交?

我在服务器上创建了一个新的git repo,然后提交了所有文件.一旦提交了这些文件,我就创建了一个新的.gitignore文件并提交了它.

我以错误的顺序完成了两次提交,因为原始提交添加了大约30k文件,而.gitignore文件没有任何影响.如果我可以清除两个提交,然后首先提交.gitignore文件,希望它会大大减少文件的数量并使repo更小.

这可能吗?我从未将回购推送到BeanstalkApp(我们的托管git帐户),所以希望它是可能的.

谢谢,

丹尼

git commit

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

用Git升级Magento

我对我们的Magento商店升级从1.5.0到1.6.0,我知道我是怎么这样做,但我对我需要使用命令有点不确定.

对于初学者,我在我们的生产服务器上有我当前的商店,我有git设置,并且我们的Beanstalk帐户上有repo的副本.我在该回购中有完整的变更历史,并且最好保留这些变更.

我有一个我们购买的主题然后进行了大量优化,但幸好几乎所有的优化都在override.css文件中.虽然,主题文件本身中有一些次要的代码更改.

由于Magento使用SVN作为他们的CVS,我发现(在Github上)Magento发布的镜像.

所以,到目前为止,我有三个位置,我想"合并":

  1. 生产(git)
  2. Magento镜子(git)
  3. 主题(不是git或svn,普通旧目录)

我正在考虑将Magento镜像作为分支添加到我现有的git repo中,称之为1.6.0或类似.然后以某种方式将普通主题目录和文件拉入主分支......

我在正确的路线上吗?

为了保护生产网站,我还在考虑添加网站的暂存版本来运行这些合并来测试它们.

git merge upgrade github magento

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

设计Rails 3.1.1,通过种子添加管理员用户?

我有一个示例Rails 3.1.1应用程序,我已设置为管理用户帐户等.

我运行以下步骤将admin属性添加到用户表:

$ rails generate migration add_admin_to_user admin:boolean
Run Code Online (Sandbox Code Playgroud)

在我的迁移中添加了以下内容:

class AddAdminToUser < ActiveRecord::Migration
  def self.up
    add_column :users, :admin, :boolean, :default => false
  end

  def self.down
    remove_column :users, :admin
  end
end
Run Code Online (Sandbox Code Playgroud)

然后我运行db:migrate并将以下内容添加到我的布局文件中:

<% if current_user.admin? %>
  You are ADMIN.
<%end %>
Run Code Online (Sandbox Code Playgroud)

然后,为了添加第一个管理员用户,我使用了以下种子文件:

puts 'SETTING UP DEFAULT USER LOGIN'
user = User.create! :name => 'Test User', :email => 'test@test.com', :password => 'password', :password_confirmation => 'password'
puts 'New user created: ' << user.name
Run Code Online (Sandbox Code Playgroud)

这很有用,所以我随后用admin字段对它进行了调整:

puts 'SETTING UP DEFAULT USER LOGIN'
user = …
Run Code Online (Sandbox Code Playgroud)

authentication admin devise ruby-on-rails-3.1

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

限制通过可见性发现的产品

我正在使用Magento以下脚本将我们的目录导入Google购物:

<?php
define('SAVE_FEED_LOCATION','google_base_feed.txt');
set_time_limit(1800);
require_once '../app/Mage.php';
Mage::app('default');
try{
    $handle = fopen(SAVE_FEED_LOCATION, 'w');

    $heading = array('id','mpn', 'upc','title','description','link','image_link','price','brand','product_type','condition', 'google_product_category', 'manufacturer', 'availability');
    $feed_line=implode("\t", $heading)."\r\n";
    fwrite($handle, $feed_line);

    $products = Mage::getModel('catalog/product')->getCollection();
    $products->addAttributeToFilter('status', 1);
    $products->addAttributeToFilter('visibility', 4);
    $products->addAttributeToSelect('*');
    $prodIds=$products->getAllIds();

    $product = Mage::getModel('catalog/product');

    $counter_test = 0;

    foreach($prodIds as $productId) {

        if (++$counter_test < 30000){

            $product->load($productId);

            $product_data = array();
            $product_data['sku'] = $product->getSku();
            $product_data['mpn'] = $product->getData('upc');
            $product_data['upc'] = $product->getData('upc');

            $title_temp = $product->getName();
            if (strlen($title_temp) > 70){
                $title_temp = str_replace("Supply", "", $title_temp);
                $title_temp = str_replace("  ", " ", $title_temp);
            }
            $product_data['title'] …
Run Code Online (Sandbox Code Playgroud)

php zend-framework magento google-shopping

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

Rails 3 应用程序中包含某些子网的 IP 白名单

我一直在尝试找出阻止访问 Rails 3 应用程序(少量 IP 地址和几个 IP 子网除外)的正确方法。

在寻找方法时,我发现了这个问题/答案。建议代码如下:

应用控制器

before_filter :protect

def protect
  @ips = ['127.0.0.1', '203.123.10.1'] #And so on ...]
  if not @ips.include? request.remote_ip
     # Check for your subnet stuff here, for example
     # if not request.remote_ip.include?('127.0,0')
     render :text => "You are unauthorized"
     return
  end
end
Run Code Online (Sandbox Code Playgroud)

这是有效的,所以我将其更改为重定向到静态页面而不仅仅是文本消息。

不过,我想做的是允许从与 Rails 应用程序服务器位于同一子网上的本地 IP 进行访问。子网很简单192.168.1.0/24

将子网添加到接受的 IP 的最简单/最干净的方法是什么?

ip controller before-filter ruby-on-rails-3

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

在Rails 3中使用标题对记录进行分组

我在Rails 3应用程序中有一个文章模型.文章模型有一个名为categories的列,它使用新表单视图中的选择框进行设置.(这是一个选择框,因为选项永远不会改变,只有四个选项).

我的索引视图代码如下:

<% @articles.category.each do |article| %>
 <%= article.category %>
 <% @articles.each do |article| %>
  <tr>
    <td><%= article.title %></td>
    <td><%= article.author %></td>
    <td><%= article.category %></td>    
    <td><%= link_to 'Show', article %></td>
    <td><%= link_to 'Destroy', article, confirm: 'Are you sure?', method: :delete %></td>
  </tr>
 <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我在控制器中按类别分组:

@articles = Article.group(:category).order('title ASC')
Run Code Online (Sandbox Code Playgroud)

但是,这会导致异常,指向以下行<% @articles.category.each do |article| %>.

实现以下内容的最简洁(从我的视图代码中)是什么方式:

  • 第1类
  • 第1条
  • 第2条
  • 第2类
  • 第5条
  • 第3类
  • 第8条

所以每篇文章都列在它的类别下面.

model group-by ruby-on-rails-3

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

Rails地理编码只允许一个属性?

我试图获得两个不同值的纬度和经度值.这些是在属性startend我的里程模型中设置的.

geocoded_by :end, :latitude  => :latitude, :longitude => :longitude
geocoded_by :start, :latitude  => :start_lat, :longitude => :start_lon
Run Code Online (Sandbox Code Playgroud)

我的里程模型中有以下属性:

start
start_lat
start_long
end
latitude
longitude
Run Code Online (Sandbox Code Playgroud)

根据geocoded_by前程万里(Mileage)模型顶部的哪一行,只对其中一个属性进行地理编码.有没有办法让地理编码器宝石处理这两个属性?

maps location geocoding ruby-on-rails-3

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