Notes posted by RobinWu
RSS feed
RobinWu -
June 3, 2009
0 thanks
multi scope to sql
validates_uniqueness_of :name, :scope => [:big_category_id, :small_category_id]
SELECT * FROM schedules WHERE (products.name = 'xxxx' AND products.big_category_id= 1 AND products.small_category_id = 1) LIMIT 1
RobinWu -
November 12, 2008
1 thank
Ajax form
<% form_remote_tag :url => { :action => “analyze”}, :update => “result” do %>
<%= select_tag 'company_id', options_for_select([]) %><br/> <%= text_area_tag :text, nil, { :cols => 100, :rows => 10 }%><br/> <%= submit_tag "Analyze", :disable_with => "Please wait..." %> <% end %> <div id="result"></div>
RobinWu -
November 7, 2008
3 thanks
Add spacer template
<%= render :partial => “product”, :collection => @products, :spacer_template => “product_ruler” %>
RobinWu -
October 31, 2008
0 thanks
By images's sub dirctionary to img tag
image_tag(“icons/edit.png”) # =>
<img src="/images/icons/edit.png" alt="edit" />
RobinWu -
October 16, 2008
0 thanks
Only error message
<%= error_messages_for :order, :header_message => nil, :message => nil %>
Browser view code
<div id=“errorExplanation” class=“errorExplanation”>
<ul> <li>Weight 只有 1000.0</li> <li>Volume 只有 10.0</li> </ul> </div>
RobinWu -
September 25, 2008 - (v2.1.0)
3 thanks
Compare old and new form for
Old form for
<% form_for :user, :url => users_path do %> <%= render :partial => 'form' %> <%= submit_tag 'Create' %> <% end %>
New form for
<% form_for(@user) do |f| %> <%= render :partial => f %> <%= submit_tag 'Create' %> <% end %>
RobinWu -
September 25, 2008
22 thanks
All methods
create_table :table do |t|
t.column # adds an ordinary column. Ex: t.column(:name, :string) t.index # adds a new index. t.timestamps t.change # changes the column definition. Ex: t.change(:name, :string, :limit => 80) t.change_default # changes the column default value. t.rename # changes the name of the column. t.references t.belongs_to t.string t.text t.integer t.float t.decimal t.datetime t.timestamp t.time t.date t.binary t.boolean t.remove t.remove_references t.remove_belongs_to t.remove_index t.remove_timestamps end
RobinWu -
September 25, 2008
18 thanks
All methods
change_table :table do |t|
t.column # adds an ordinary column. Ex: t.column(:name, :string) t.index # adds a new index. t.timestamps t.change # changes the column definition. Ex: t.change(:name, :string, :limit => 80) t.change_default # changes the column default value. t.rename # changes the name of the column. t.references t.belongs_to t.string t.text t.integer t.float t.decimal t.datetime t.timestamp t.time t.date t.binary t.boolean t.remove t.remove_references t.remove_belongs_to t.remove_index t.remove_timestamps end
RobinWu -
September 25, 2008
2 thanks
Support for the option through
class Magazine < ActiveRecord::Base
has_many :subscriptions end class Subscription < ActiveRecord::Base belongs_to :magazine belongs_to :user end class User < ActiveRecord::Base has_many :subscriptions has_one :magazine, :through => :subscriptions, :conditions => ['subscriptions.active = ?', true] end
RobinWu -
September 25, 2008
6 thanks
RobinWu -
September 23, 2008
1 thank
Assert empty option in select tag
assert_tag :tag => “select”, :attributes => {:id => “to_airport_id”},
:child => {:tag => "option", :attributes => {:value => ""}, :content => "--select--"}, :children => {:count => 4}
RobinWu -
August 23, 2008
3 thanks
Include two level has many model example
class Issue < ActiveRecord::Base
has_many :journals end class Journal < ActiveRecord::Base belongs_to :issue has_many :details, :class_name => "JournalDetail", :dependent => :delete_all end class JournalDetail < ActiveRecord::Base belongs_to :journal end
<hr/>
issue = Issue.find(:first, :include => {:journals => :details} log record follow: SELECT * FROM `issues` LIMIT 1 SELECT `journals`.* FROM `journals` WHERE (`journals`.`journalized_id` IN (1) and `journals`.`journalized_type` = 'Issue' AND (dustbin <> 1)) SELECT `journal_details`.* FROM `journal_details` WHERE (`journal_details`.journal_id IN (1,2,876177898,935815637)) when execute follow code, then not build sql sentent: issue.journals issue.journals[0].details
RobinWu -
July 4, 2008
0 thanks
Add if before Ajax.request
Use link_to_remote’s before
link_to_remote(“watcher”, {:url => “/watchers/add”, :before => “if($F(‘user_id’)==”){return false;}” })
<a onclick=“if($F(‘user_id’)==”){return false;}; new Ajax.Request(‘/watchers/add’, {asynchronous:true, evalScripts:true, parameters:”}); return false;”>添加订阅人
RobinWu -
July 4, 2008
12 thanks
Add empty option and text is -select-
select :object, :method, options, :prompt => ‘-select-’