Search Results

Search found 7350 results on 294 pages for 'rspec rails'.

Page 96/294 | < Previous Page | 92 93 94 95 96 97 98 99 100 101 102 103  | Next Page >

  • rails override default getter for a relationship (belongs_to)

    - by brad
    So I know how to override the default getters for attributes of an ActiveRecord object using def custom_getter return self[:custom_getter] || some_default_value end I'm trying to achieve the same thing however for a belongs to association. For instance. class Foo < AR belongs_to :bar def bar return self[:bar] || Bar.last end end class Bar < AR has_one :foo end When I say: f = Foo.last I'd like to have the method f.bar return the last Bar, rather than nil if that association doesn't exist yet. This doesn't work however. The reason is that self[:bar] is always undefined. It's actually self[:bar_id]. I can do something naive like: def bar if self[:bar_id] return Bar.find(self[:bar_id]) else return Bar.last end end However this will always make a db call, even if Bar has already been fetched, which is certainly not ideal. Does anyone have an insight as to how I might have a relationship such that the belongs_to attribute is only loaded once and has a default value if not set.

    Read the article

  • Dynamic URL -> Controller mapping for routes in Rails

    - by Daniel Beardsley
    I would like to be able to map URLs to Controllers dynamically based on information in my database. I'm looking to do something functionally equivalent to this (assuming a View model): map.route '/:view_name', :controller => lambda { View.find_by_name(params[:view_name]).controller } Others have suggested dynamically rebuilding the routes, but this won't work for me as there may be thousands of Views that map to the same Controller

    Read the article

  • Help with rails collection select

    - by NachoF
    I need to add different values for each option tag in my collection_select cause Im trying to use this jquery plugin.... How do I do that? Heres my collection select code <%= e.collection_select(:id,State.all,:id,:name) %> The output should be something like <select name="state[id]" id="state_id" class="selectable"> <option value="">-- select --</option> <option value="1" title="florida">Florida</option> <option value="2" title="georgia">Georgia</option> </select> Please help.

    Read the article

  • Rails: Create method available in all views and all models

    - by smotchkkiss
    I'd like to define a method that is available in both my views and my models Say I have a view helper: def foo(s) "hello #{s}" end A view might use the helper like this: <div class="data"><%= foo(@user.name) %></div> However, this <div> will be updated with a repeating ajax call. I'm using a to_json call in a controller returns data like so: render :text => @item.to_json(:only => [...], :methods => [:foo]) This means, that I have to have foo defined in my Item model as well: class Item def foo "hello #{name}" end end It'd be nice if I could have a DRY method that could be shared in both my views and my models. Usage might look like this: Helper def say_hello(s) "hello #{s}" end User.rb model def foo say_hello(name) end Item.rb model def foo say_hello(label) end View <div class="data"><%= item.foo %></div> Controller def observe @items = item.find(...) render :text => @items.to_json(:only=>[...], :methods=>[:foo]) end IF I'M DUMB, please let me know. I don't know the best way to handle this, but I don't want to completely go against best-practices here. If you can think of a better way, I'm eager to learn!

    Read the article

  • ruby on rails state machines

    - by srboisvert
    I'm looking to implement a state machine to manage a user moving through a series of steps over an extended period of time (weeks) with emails and then they interact with the app. I've looked at a couple of AASM plugins and forks (it seems like this plugin space has become a bit chaotic) and am curious what people would recommend. I saw the automatic AASM by hashrocket, that transitions states using cron, and from the title it looks like it might fit the bill but there doesn't appear to be any documentation anywhere and it looks more like a skeleton app than a plugin.

    Read the article

  • How to save http referer in rails

    - by TenJack
    I'm trying to save the site that a user came from when they sign up. Right now I have a before_filter in my ApplicationController: before_filter :save_referer def save_referer unless is_logged_in? session['referer'] = request.env["HTTP_REFERER"] unless session['referer'] end end Then when a user is created, it checks this session variable and sets it to nil. Sometimes this does not work and I'm worried there might be some unintended things happening with using session like this. Does anyone have a better way? Or some input perhaps? EDIT: This is the logic I am using to save the referer: def create @user = User.new(params[:user]) if @user.save_with(session[:referer]) .... end User def save_with(referer) self.referer = referer unless referer == "null" self.save end Is there any reason why this should not work?

    Read the article

  • Rails multiple select box issue for search

    - by Reido
    First off here is my model, controller, view: My model, this is where I have my search code:--------------------------- def self.find_by_lcc(params) where = [] where << "category = 'Land'" unless params[:mls].blank? where << "mls = :mls" end unless params[:county].blank? where << "county = :county" end unless params[:acreage_range].blank? where << "acreage_range = :acreage_range" end unless params[:landtype].blank? where << "landtype = :landtype" end unless params[:price_range].blank? where << "price_range = :price_range" end if where.empty? [] else find(:all, :conditions => [where.join(" AND "), params], :order => "county, price desc") end end My controller:---------------- def land @counties = ['Adams', 'Alcorn', 'Amite', 'Attala'] @title = "Browse" return if params[:commit].nil? @properties = Property.find_by_lcc(params) else 'No properties were found' render :action = 'land_table' end My View: ---------------------- <table width="900"> <tr> <td> <% form_tag({ :action => "land" }, :method => "get") do %> <fieldset> <legend>Search our Land Properties</legend> <div class="form_row"><p>&nbsp;</p></div> <div class="form_row"> <label for="mls">MLS Number:</label>&nbsp; <%= text_field_tag 'mls', params[:mls] %> </div> <div class="form_row"> <label for "county"><font color="#ff0000">*County:</font></label>&nbsp; <%= select_tag "county", options_for_select(@counties), :multiple => true, :size => 6 %> </div> <div class="form_row"> <label for "acreage_range">Acreage:</label>&nbsp; <%= select_tag "acreage_range", options_for_select([['All',''],['1-10','1-10'],['11-25','11-25'],['26-50','26-50'],['51-100','51-100']]) %> </div> <div class="form_row"> <label for "landtype">Type:</label>&nbsp; <%= select_tag "landtype", options_for_select([['All',''],['Waterfront','Waterfront'],['Wooded','Wooded'],['Pasture','Pasture'],['Woods/Pasture','Woods/Pasture'],['Lot','Lot']]) %> </div> <div class="form_row"> <label for="price_range"><font color="#ff0000">*Price:</font></label>&nbsp; <%= select_tag "price_range", options_for_select([['All',''],['0-1,000','0-1,000'],['1,001-10,000','1,001-10,000'],['10,001-50,000','10,001-50,000'],['50,001-100,000','50,001-100,000'],['100,001-150,000']])%> </div> <input type="text" style="display: none;" disabled="disabled" size="1" /> <%= submit_tag "Search", :class => "submit" %> </fieldset> <% end%> </td> </tr> </table> The search works fine until I add ", :multiple = true, :size = 6" to make the county field multiple select. Then I get the error: Processing PublicController#land (for 65.0.81.83 at 2010-04-01 13:11:30) [GET] Parameters: {"acreage_range"=>"", "commit"=>"Search", "county"=>["Adams", "Amite"], "landtype"=>"", "price_range"=>"", "mls"=>""} ActiveRecord::StatementInvalid (Mysql::Error: Operand should contain 1 column(s): SELECT * FROM `properties` WHERE (category = 'Land' AND county = 'Adams','Amite') ORDER BY county, price desc): app/models/property.rb:93:in `find_by_lcc' app/controllers/public_controller.rb:84:in `land' /usr/lib/ruby/1.8/thread.rb:135:in `synchronize' fcgi (0.8.7) lib/fcgi.rb:117:in `session' fcgi (0.8.7) lib/fcgi.rb:104:in `each_request' fcgi (0.8.7) lib/fcgi.rb:36:in `each' dispatch.fcgi:24 I've tried to make the county, acreage_range, and price_range fields into multiple select boxes numerous ways, but can not get any method to work correctly. Any help would be greatly appreciated. Thanks,

    Read the article

  • will paginate, nested routes, ruby, rails

    - by Sam
    I'm trying to get will paginate to link to my nested route instead of the regular posts variable. I know I'm supposed to pass some params to paginate but I don't know how to pass them. Basically there is an array stored in @posts and the other param paginate has access to is category_id. The nested route is /category/1/posts but hitting next and previous on will paginate returns a url like this posts?page=1&category_id=7. <%= will_paginate @most_recent_posts "What do I do here?" %> This is the result of Yannis's answer: In your controller you can do: @posts = @category.posts.paginate And in your view: <%= will_paginate(@post) %> Doing this comes up with the following URL posts?page=2&post_category_id=athlete_management routes.rb #there are more routes but these are the relevant ones map.resources :posts map.resources :post_categories, :has_many => :posts solution map.resources :post_categories do |post_category| post_category.resources :posts end map.resources :posts Had to declare the resource after the block Thanks stephen!

    Read the article

  • Rails Multiple Checkboxes with Javascript Dynamic Select

    - by Jack
    Hi, I have followed the Railscast episode 88 to implement a set of dependant drop down menus. In the students-new view, when the student's year is selected, the javascript figures out which courses are available to that year and offers the selection in a new drop down menu. My javascript erb file is here: var courses = new Array(); <% for course in @courses -%> <%for year in course.years -%> courses.push(new Array(<%= year.year_id%>, '<%=h course.title%>', <%= course.id%>)); <%end -%> <% end -%> function yearSelected() { year_id = $('student_year_id').getValue(); options = $('student_course_ids').options; options.length = 1; courses.each(function(course) { if (course[0] == year_id) { options[options.length] = new Option(course[1], course[2]); } }); if (options.length == 1) { $('course_field').hide(); } else { $('course_field').show(); } } document.observe('dom:loaded', function() { yearSelected(); $('student_year_id').observe('change', yearSelected); }); Any my view is as follows: <% form_for(@student) do |f| %> <%= f.error_messages %> <p> <%= f.label :name %><br /> <%= f.text_field :name %> </p> <p> <%= f.label :cid, "CID" %><br /> <%= f.text_field :cid %> </p> <p> <label for="student_year_id">Year:</label> <%= collection_select(:student, :year_id, Year.all, :id, :title, {:prompt => true})%> </p> <p id="course_field"> <label for="student_course_ids">Course:</label> <%= collection_select(:student, :course_ids, Course.find(:all), :id, :title, {:prompt => true}, {:multiple => true})%> </p> <p> <%= f.submit 'Save' %> </p> <% end %> What I would like to do is to add checkboxes instead of the drop down menu. Any suggestions? I previously was using this method, but was not able to get it to work with the new javascript. Cheers

    Read the article

  • Athentication Problem - not recognizing 'else' - Ruby on rails...

    - by bgadoci
    I can't seem to figure out what I am doing wrong here. I have implemented the Super Simple Authentication from Ryan Bates tutorial and while the login portion is functioning correctly, I can't get an error message and redirect to happen correctly for a bad login. Ryan Bates admits in his comments he left this out but can't seem to implement his recommendation. Basically what is happening is that when someone logs in correctly it works. When a bad password is entered it does the same redirect and flashes 'successfully logged in' thought they are not. The admin links do not show (which is correct and are the links protected by the <% if admin? %) but I need it to say 'failed login' and redirect to login path. Here is my code: SessionsController class SessionsController < ApplicationController def create if session[:password] = params[:password] flash[:notice] = 'Successfully logged in' redirect_to posts_path else flash[:notice] = "whoops" redirect_to login_path end end def destroy reset_session flash[:notice] = 'Successfully logged out' redirect_to posts_path end end ApplicationController class ApplicationController < ActionController::Base helper_method :admin? protected def authorize unless admin? flash[:error] = "unauthorized request" redirect_to posts_path false end end def admin? session[:password] == "string0826" end helper :all # include all helpers, all the time protect_from_forgery # See ActionController::RequestForgeryProtection for details # end

    Read the article

  • How to do case-insensitive order in Rails with postgresql

    - by brad
    I am in the process of switching my development environment from sqlite3 to postgresql 8.4 and have one last hurdle. In my original I had the following line in a helper method; result = Users.find(:all, :order => "name collate NOCASE") which provided a very nice case-insensitive search. I can't replicate this for postgresql. Should be easy - any ideas? Thanks.

    Read the article

  • Rails Authlogic - no documentation about SingleAccessToken

    - by northox
    I been searching how to use the single access token in Authlogic but there is no consistent documentation on the web. Anyone knows how it work? Presently, I have this: class UserSession < Authlogic::Session::Base single_access_allowed_request_types = :all end And been using this url: www.mysite.com/?user_credentials=xyz but it does not work and the CSRF protection (protect_from_forgery()) is in the way too. thanks,

    Read the article

  • dynamic check_box using field_for in rails

    - by Craig Whitley
    I have a many-to-many relationship with a link box, and I want to pull those models together into one form so I can update from the same page. I'm really struggling with getting the check_box to even show all the elements of my array - I've scoured the net and been working on this literally all day, and I'm finding it difficult to apply the information I'm reading to my problem. I'm also extremely new to RoR and I've been following a bit of an outdated video tutorial (pre 2.0) so apologies for my code. So far, I've got it to output only one key pair in the array (the last one) - although outside the form, the code used in the tutorial works exactly how it should. Thats of little use though! Host is the model for which the main form is for, and Billing is the outside model that I'm trying to add to the form. This is the code that works outside of the form from the tutorial: <% for billing in @billings -%> <%= check_box_tag('billing_title[]', billing.id, @host.billings.collect {|obj| obj.id}.include?(billing.id))%> <%= billing.title %><br /> <% end -%> I just need to know how to make it work inside the form. This is the aforementioned code that only retrieves the last array keypair after looping through them: <% f.fields_for :billings do |obj| %><br /> <%= check_box_tag('billing_title[]', billing.id, @billings.collect {|obj| obj.id}.include?(billing.id))%> <%= billing.title %><br /> <% end %> The debug(@billings) : --- - !ruby/object:Billing attributes: title: Every Month id: "1" attributes_cache: {} - !ruby/object:Billing attributes: title: 12 Months id: "2" attributes_cache: {} - !ruby/object:Billing attributes: title: 6 Months id: "5" attributes_cache: {} Any help really appreciated.

    Read the article

  • Override to_json in Rails 2.3.5

    - by smotchkkiss
    I've seen some other examples on SO, but I none do what I'm looking for. I'm trying: class User < ActiveRecord::Base def to_json super(:only => :username, :methods => [:foo, :bar]) end end I'm getting ArgumentError: wrong number of arguments (1 for 0). Any ideas?

    Read the article

  • Configure Rails app to retrieve ALL emails from inbox

    - by Kartik Rao
    I'm using the following code to retrieve emails from my Gmail inbox. def get_mail Net::POP3.enable_ssl(OpenSSL::SSL::VERIFY_NONE) Net::POP3.start('pop.gmail.com', 995, "uname","pass") do |pop| unless pop.mails.empty? pop.each_mail do |mail| email = TMail::Mail.parse(mail.pop) email_obj=EmailedQueries.new email_obj.save_email(email.from,email.subject,email.body_html) end end end end This works just fine, but it retrieves only new mails from the inbox. Instead, I want a seperate function that will retrieve ALL emails from the inbox. This function will be used rarely. I wont be retrieving all mails all the time. Only when necessary. Thanks!

    Read the article

  • How to create a url for notification in Rails

    - by Salil
    Hi All, i want to send an email to user after he sign-up with code.for ex http://192.168.1.51:3000/logins/activate/435546dgfd757676657 #link contains in an email how can i create the above URL in my notifier model. i know following way url_for :controller=>'logins', :action=>'activate', :id=>'435546dgfd757676657' , :host=>'http://192.168.1.54:3000' Which is working properly. what i want that host should not be hard coded. How can i get host with port in a model. In controller i can find it using follwing ways request.host_with_port Please provide me correct ruby way for doing same.

    Read the article

  • Rails - operation outside of a rollback

    - by Brian Armstrong
    I have a before_create filter that checks if people are posting too many comments. If they are I want to flag their account. class Comment < ActiveRecord::Base before_create :check_rate_limit def check_rate_limit comments_in_last_minute = self.user.comments.count(:conditions => ["comments.created_at > ?", 1.minute.ago]) if comments_in_last_minute > 2 user.update_attribute :status, "suspended" return false end true end end The before filter returns false to stop the comment from being created. The problem is that this triggers a ROLLBACK which also undoes the changes I made to the user model. What's the correct pattern to accomplish this? Specifically: running a check each time an object is created and being able to edit another model if the check fails.

    Read the article

  • Rails Polymorphic Association with multiple associations on the same model

    - by Matt Rogish
    My question is essentially the same as this one: http://stackoverflow.com/questions/1168047/polymorphic-association-with-multiple-associations-on-the-same-model However, the proposed/accepted solution does not work, as illustrated by a commenter later. I have a Photo class that is used all over my app. A post can have a single photo. However, I want to re-use the polymorphic relationship to add a secondary photo. Before: class Photo belongs_to :attachable, :polymorphic => true end class Post has_one :photo, :as => :attachable, :dependent => :destroy end Desired: class Photo belongs_to :attachable, :polymorphic => true end class Post has_one :photo, :as => :attachable, :dependent => :destroy has_one :secondary_photo, :as => :attachable, :dependent => :destroy end However, this fails as it cannot find the class "SecondaryPhoto". Based on what I could tell from that other thread, I'd want to do: has_one :secondary_photo, :as => :attachable, :class_name => "Photo", :dependent => :destroy Except calling Post#secondary_photo simply returns the same photo that is attached via the Photo association, e.g. Post#photo === Post#secondary_photo. Looking at the SQL, it does WHERE type = "Photo" instead of, say, "SecondaryPhoto" as I'd like... Thoughts? Thanks!

    Read the article

  • Rails equivalent of respond_to |format| with a straight render

    - by brad
    I'm working with ActiveResource a lot so my service models are only using XML. Thus, I have no need for a respond_to block, I literally just render :xml => @model I can't however figure out how to render a 404 header using this. I've had to resort to respond_to, which I think adds a few unnecessary method calls. Here's what I'm using: respond_to do |format| if (record_found) render :xml => @some_record else format.xml{ head :not_found } end end but I just want something like render :xml => head :not_found which doesn't work. Can anyone tell me the proper syntax?

    Read the article

  • check params['Filedata'] in rails.

    - by krunal shah
    How to check that my params['Filedata'] is corrupted or not? I have function it's reading file from params['Filedata'] and writing it to the other file. File.open(upload_file, "wb") { |f| f.write(params['Filedata'].read) } this line working fine for me.. But when i am calling this function with delayed job funtion send_later than I am getting error with params['Filedata'].read.

    Read the article

  • help configuring openid for enki blog in ruby on rails

    - by Stacia
    I am trying to set up a blog using Enki. There is a config file here: http://github.com/xaviershay/enki/blob/master/config/enki.yml Which I don't understand. I signed up for myopenID and replaced my username in the delegate, but I don't understand what goes under "open_id" - is it just my URL? I'm just not sure what's going on, or what name I should put in the admin page at all (is it the username at myopenID?). I may have it all right, but I keep getting "OpenID server not found" so something is going wrong on both my local and remote server.

    Read the article

< Previous Page | 92 93 94 95 96 97 98 99 100 101 102 103  | Next Page >