小编dan*_*mcc的帖子

Rails 3下拉选择框?

我正在使用Rails 3.1创建一个简单的Intranet应用程序.

我有一个链接模型,其中包含以下字段:

name:string
url:string
colour:string
Run Code Online (Sandbox Code Playgroud)

我已将color属性放入视图中的类中,如下所示:

<a href="linkaddress" class="<%= link.colour %>">Link Name</a>
Run Code Online (Sandbox Code Playgroud)

在新的链接表单中,我只有一个简单的表单输入,用户可以在其中键入任何内容,它将成为预期的href类.

我想要做的是创建预设选项的下拉列表,这些选项只是红色,绿色和蓝色(作为示例).由于这看起来相当简单,我认为不需要帮助者.

我已经在SO上阅读了一些其他问题和答案,他们似乎显示了一个例子,你的名字后跟一个ID号码.我只想要下面的代码:

<select name="colour">
 <option value="red">Red</option>
 <option value="green">Green</option>
 <option value="blue">Blue</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我确信这很简单,但我不能理解它.我已经阅读了Rails API信息,而select_for_tag让我很困惑!

ruby-on-rails css-selectors drop-down-menu

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

在Rails中按字母顺序选择列表输出?

我的模型中有一个选择列表,其中列出了雇主姓名的人名:

<li>Case Handler Name<span><%= f.select :person_id, Person.all.collect { |x| [x.name_and_company, x.id] } %></span></li>  

def name_and_company
return "#{personname} (#{company})"
end
Run Code Online (Sandbox Code Playgroud)

是否可以强制选择列表按字母顺序输出?

我假设我会在那里放一个订单标签......某处?

(:order => 'personname DESC')
Run Code Online (Sandbox Code Playgroud)

谢谢,

丹尼

select ruby-on-rails list

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

使用Devise in Rails 3显示上次登录的详细信息

我有一个Rails 3应用程序,它使用Devise进行身份验证.

我想显示每个用户上次登录用户管理表的日期和时间.

我已将该应用程序基于以下应用程序:

https://github.com/dannymcc/rails3-base
Run Code Online (Sandbox Code Playgroud)

我已阅读Devise GitHub wiki并注意到它提到用户事件是可追踪的,但我找不到任何有关访问信息的信息等.

任何帮助/建议将不胜感激!

谢谢,

丹尼

authentication devise ruby-on-rails-3

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

获取Magento属性名称而不是ID号码?

我使用以下脚本导出我们的产品列表,以便将其发送给Google以获取其购物列表服务(Google Base).该脚本运行良好,但它将品牌和制造商列留空:

<?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);
            } …
Run Code Online (Sandbox Code Playgroud)

php database attributes magento magento-1.5

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

使用Mechanize和Nokogiri登录网站?

我在使用我们的服务提供商登录表单时遇到了一些困难.其他网站工作正常但由于某种原因我无法通过他们的登录表单.

网站登录是这样的:

<form accept-charset="UTF-8" action="/sessions" class="new_user_session" id="new_user_session" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="kaLEkPesQfeheronzGTdfnVAzpuUiC+VmjVXBu540n8=" /></div>

      <fieldset class="big">

      <div class="form-row">
        <div class="form-label">
        <label for="user_session_email">Email</label>
        </div>
        <div class="form-field">
        <input id="user_session_email" name="user_session[email]" size="30" type="text" />

        </div>

      </div>          

      <div class="form-row">
        <div class="form-label">
        <label for="user_session_password">Password</label>
        </div>
        <div class="form-field">
        <input id="user_session_password" name="user_session[password]" size="30" type="password" />

        </div>

        <div class="form-comment"><p><a href="/password_resets/new" class="link-password-recovery">Forgot your password?</a></p></div>
      </div>

        <div class="form-row optional">
          <div class="form-field">
            <label for="user_session_remember_me"><input name="user_session[remember_me]" type="hidden" value="0" /><input id="user_session_remember_me" name="user_session[remember_me]" type="checkbox" value="1" /> Remember me for 2 weeks</label> …
Run Code Online (Sandbox Code Playgroud)

screen-scraping login www-mechanize nokogiri

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

使用Ruby中的regex从路径中划分最后一个目录?

我有一个我Dir.glob在Rails 3中使用的文档列表.

结果是一个类似于以下内容的路径列表:

/home/danny/nurserotas/GREEN WEEK 2ND JAN 2012.xls
Run Code Online (Sandbox Code Playgroud)

我想要实现的是剥离所有内容,包括最后一个正斜杠.所以上述路径的结果是:

GREEN WEEK 2ND JAN 2012.xls
Run Code Online (Sandbox Code Playgroud)

我将使用这些作为链接,所以我不确定是否用%20替换空格是一个好主意.

任何帮助,将不胜感激!

regex url path ruby-on-rails-3

5
推荐指数
2
解决办法
4076
查看次数

在Rails中比较Time.now但忽略年份?

我在Rails 3应用程序中有以下代码:

  scope :active, lambda {
    where("starts_at <= ? AND ends_at >= ?", Time.now.utc, Time.now.utc)
  }
  scope :since, lambda { |hide_time|
    where("updated_at > ? OR starts_at > ?", hide_time.utc, hide_time.utc) if hide_time
  }

  def self.display(hide_time)
    active.since(hide_time)
  end
Run Code Online (Sandbox Code Playgroud)

但是,无论年份是否与当前年份匹配,我都希望返回结果.只要日和月匹配就好了.这可能吗?

starts_atends_atdatetime格式化.因此,即使我没有在表单中设置一个,它们也会自动包含一年:

<%= f.datetime_select :starts_at, :order => [:day, :month], :discard_year => true %>
Run Code Online (Sandbox Code Playgroud)

任何指针将不胜感激.

time activerecord date ruby-on-rails-3

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

Rails缓存清除

我在我的生产环境中有这个:

# The production environment is meant for finished, "live" apps.
# Code is not reloaded between requests
config.cache_classes = true
Run Code Online (Sandbox Code Playgroud)

如何完全清除缓存,以便我部署的更改生效?我已将内容添加到其中一个页面,但它似乎没有出现,因为我将config.cache_classes设置为true.

谢谢,

丹尼

caching ruby-on-rails clear

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

在shell提示符下显示git分支?

我试图让我的shell提示符显示当前的git分支名称.

我已经阅读了一些教程和博客文章等,据我所知,我正在做正确的事情,但它似乎没有起作用.

我想提示看起来像这样:

dannys-macbook:hillcrest-store [master]$
Run Code Online (Sandbox Code Playgroud)

但目前它看起来像这样:

dannys-macbook:hillcrest-store danny$ 
Run Code Online (Sandbox Code Playgroud)

我在〜/ .bash_profile中添加了以下内容:

PATH=$PATH:/usr/local/bin; export PATH

COLOR1="\[\e[1;32m\]"
COLOR2='\[\e[1;1m\]'
COLOR3='\[\e[m\]'
GIT_STATUS=$(__git_ps1 " %s")
PROMPT_CHAR="$"

PROMPT="${COLOR1}\u@\h${COLOR3} \w${COLOR2}${GIT_STATUS} ${COLOR2}${PROMPT_CHAR$
PS1="$PROMPT"
export PS1
Run Code Online (Sandbox Code Playgroud)

我不确定我做错了什么,也许我应该以某种方式'重置'提示?

git branch prompt .bash-profile osx-lion

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

使用Nokogiri和Mechanize解析html表

使用以下代码我试图从我们的电话提供商的Web应用程序中删除一个呼叫日志,将信息输入我的Ruby on Rails应用程序.

desc "Import incoming calls"
task :fetch_incomingcalls => :environment do

    # Logs into manage.phoneprovider.co.uk and retrieved list of incoming calls.
    require 'rubygems'
    require 'mechanize'
    require 'logger'

    # Create a new mechanize object
    agent = Mechanize.new { |a| a.log = Logger.new(STDERR) }

    # Load the Phone Provider website
    page = agent.get("https://manage.phoneprovider.co.uk/login")

    # Select the first form
    form = agent.page.forms.first
    form.username = 'username
    form.password = 'password

    # Submit the form
    page = form.submit form.buttons.first

    # Click on link called Call …
Run Code Online (Sandbox Code Playgroud)

html html-table ruby-on-rails mechanize nokogiri

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