Search Results

Search found 10764 results on 431 pages for 'extending ruby'.

Page 308/431 | < Previous Page | 304 305 306 307 308 309 310 311 312 313 314 315  | Next Page >

  • How do I avoid a race condition in my Rails app?

    - by Cathal
    Hi, I have a really simple Rails application that allows users to register their attendance on a set of courses. The ActiveRecord models are as follows: class Course < ActiveRecord::Base has_many :scheduled_runs ... end class ScheduledRun < ActiveRecord::Base belongs_to :course has_many :attendances has_many :attendees, :through => :attendances ... end class Attendance < ActiveRecord::Base belongs_to :user belongs_to :scheduled_run, :counter_cache => true ... end class User < ActiveRecord::Base has_many :attendances has_many :registered_courses, :through => :attendances, :source => :scheduled_run end A ScheduledRun instance has a finite number of places available, and once the limit is reached, no more attendances can be accepted. def full? attendances_count == capacity end attendances_count is a counter cache column holding the number of attendance associations created for a particular ScheduledRun record. My problem is that I don't fully know the correct way to ensure that a race condition doesn't occur when 1 or more people attempt to register for the last available place on a course at the same time. My Attendance controller looks like this: class AttendancesController < ApplicationController before_filter :load_scheduled_run before_filter :load_user, :only => :create def new @user = User.new end def create unless @user.valid? render :action => 'new' end @attendance = @user.attendances.build(:scheduled_run_id => params[:scheduled_run_id]) if @attendance.save flash[:notice] = "Successfully created attendance." redirect_to root_url else render :action => 'new' end end protected def load_scheduled_run @run = ScheduledRun.find(params[:scheduled_run_id]) end def load_user @user = User.create_new_or_load_existing(params[:user]) end end As you can see, it doesn't take into account where the ScheduledRun instance has already reached capacity. Any help on this would be greatly appreciated.

    Read the article

  • Is it OK to manage associations manually?

    - by sosborn
    Here are the relevant models: User Product Order A User can sell or buy products An order has a buyer, a seller and one product I know that I can do this with a HABTM relationship between orders and user, but is seems to me like it would be simpler to put in the Order table the following columns: :seller_id :buyer_id and manage those relationships manually as orders are only created once and never edited. However, this doesn't seem very Rails-like and I am wondering if I am missing something conceptually at the HABTM relationship.

    Read the article

  • Update array in rails action?

    - by Elliot
    Hey guys, I have the following code in an action: @user = @current_user @user.votes[1430]='up' @user.update_attributes(params[:user]) Votes is a string type, there is no default value - I just want to set it for the first time when this action occurs. Unfortunately I get this error: NoMethodError You have a nil object when you didn't expect it! The error occurred while evaluating nil.votes any ideas what I'm doing wrong?

    Read the article

  • In Rails, how would I include a section of a page only if the rest of the page doesn't match a certain regexp?

    - by Simon
    We have a site with a lot of user-generated content, and we'd like to show Google ads on it. Some of the content is such that we mustn't show the ads on pages containing that content, or else the whole site gets banned. We've come up with a regexp which we think will match all the offending content. So, three approaches come to mind: Render the page once without the ad section, and then insert the ad section into it if it's clean Render the page as normal, and do the insertion in client-side javascript Render the page above the ad section, capturing only the parts of the page that change; make sure there are no changing parts afterwards. Only show the ads if the captured text is clean, and make sure the unchanging, uncaptured parts are well-vetted in advance. The first one seems like it might delay the page rendering for too long; the second seems like it might delay showing the ads too long; and the third seems too fragile. Is there a better approach? If not, which one is the best solution of the three?

    Read the article

  • Grid forms in Rails

    - by KandadaBoggu
    I am trying to create a grid form for a survey question. value1 value2 value3 option 1 x option 2 x option 3 x Each cell in the grid is a radio button and the radio buttons in a row belong to one radio button group. My models: class Question # title has_many :answers end class Answer # name, position, atype(row/col) end I am struggling to come up with a Rails approach for creating such a form. To complicate the issue user can save the semi-completed form and complete it at a later time. What is the best approach for this problem?

    Read the article

  • Turn link to a jQuery icon

    - by Justin Meltzer
    I want to turn two "voting" links into jQuery UI icons. One is the upvote link that should be an icon with an up arrow, and one is the downvote link that should be an icon with a down arrow. Here is one of the link's RoR code: <%= link_to "+1", video_votes_path( :video_id => video.id, :type => "up" ), :method => :post, :remote => true %> I also want to change the color of the icon when it is clicked, and when it is clicked again, it should change back to its original color. How can I do all of this?

    Read the article

  • How do I get AuthLogic to skip Password validation?

    - by ndp
    I think I'm just missing something obvious. I send a user a perishable token embedded in a link. They click on it, and they come back to the site. I want to log them in automatically (I'm not building a banking app). This seems like this should be simple, but all the examples I've found require a password. How do I skip this completely? I just seem to get UserSession.create to work.

    Read the article

  • Problem with heroku db:pull while at work.

    - by shopfiber
    When I try to pull down a database while at work I get the following error: :>heroku db:pull Auto-detected local database: sqlite://db/development.sqlite3 Bad credentials given for http://heroku:[hidden]@taps.heroku.com Note that when I am at home I am able to run this command just fine. I wanted to know if you have any suggestions for common reasons I would get this error.

    Read the article

  • Rails - Why is my custom validation being triggered for only a build command.

    - by adam
    I have a sentence and correction model with a has_one and belongs_to relationship respectively. For some reason when I do def create @sentence = Sentence.find(params[:sentence_id]) @correction = @sentence.build_correction(params[:correction]) a custom validation I wrote for Correction is being called at the build_correction point. the validation is below class Correction < ActiveRecord::Base attr_accessible :text, :sentence_id, :user_id belongs_to :sentence belongs_to :user validate :correction_is_different_than_sentence def correction_is_different_than_sentence errors.add(:text, "can't be the same as the original sentence.") if (text == self.sentence.text) end the problem is for some reason on validation the correction object doesn't have the sentence id set (despite I used the build_correction method) and so it complains "you have nil object .... while executing nil.text" in the if clause in the validation above. So my question is why is the validation occuring for a build command, i thought it only triggers on a create or update. And why isnt the sentence_id getting set?

    Read the article

  • Passenger problem: "no such file to load" -- /config/environment

    - by Mason Jones
    I've been researching this one and found references to similar problems here and there, but none of them has led to a solution yet. I've installed passenger (2.2.11) and nginx (0.7.64) and when I start things up and hit a Rails URL, I get an error page informing me of a load error: no such file to load -- /path/to/app/config/environment From what I've found online this appears to be some sort of a user/permissions error, but I've tried all the logical fixes: I've made sure that /config/environment.rb is not owned by root, but by a webapp user. I've tried setting passenger_default_user, I've tried setting passenger_user_switching off. I've even tried setting the nginx user, though that shouldn't matter much. I've gotten some differing results, but nothing's actually worked. I'm hoping someone may have the magical combination of settings and permissions for this. I may try backing down to an earlier version of Passenger, because I've never had this issue before; it's been a little while since I set up Passenger though. Thanks for any suggestions.

    Read the article

  • Instance_eval: why the class of subclass is superclass

    - by Raj
    def singleton_class class << self self end end class Human proc = lambda { puts 'proc says my class is ' + self.name.to_s } singleton_class.instance_eval do define_method(:lab) do proc.call end end end class Developer < Human end Human.lab # class is Human Developer.lab # class is Human ; oops Following solution works. def singleton_class class << self self end end class Human proc = lambda { puts 'proc says my class is ' + self.name.to_s } singleton_class.instance_eval do define_method(:lab) do self.instance_eval &proc end end end class Developer < Human end Human.lab # class is Human Developer.lab # class is Human ; oops Why Developer.lab is reporting that it is Human ? And what can be done so that proc reports Developer when Developer.lab is invoked.

    Read the article

  • helper function not found in view

    - by cbrulak
    I'm following the instructions at: http://agilewebdevelopment.com/plugins/acts_as_taggable_on_steroids to add the tag cloud to my view: in the controller: class PostController < ApplicationController def tag_cloud @tags = Post.tag_counts end end I also added the tag_cloud method as a helper method in the controller and in the view: <% tag_cloud @tags, %w(css1 css2 css3 css4) do |tag, css_class| %> (line 1) <%= link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class %> (line2) <% end %> (line 3) However: 1) if I don't add the helper_method :tag_cloud in the controller I get a undefined method error for tag_cloud 2) if I do add the helper method I get: wrong number of arguments (2 for 0) on the same line 1 of my sample code above. Suggestions?

    Read the article

  • Class name to view path

    - by Alexey Poimtsev
    Hi, I have a RoR application and model SomeModel. I have views for this model and I want to know - is there any method to get the view's path? Of course I can use for this model instance m = SomeModel.new v = m.class.class_name.pluralize.downcase It's working, but maybe you know a better way? :)

    Read the article

  • Hash default value not being used

    - by ba
    Today I tried the following snippets of code and I don't understand why I get different results between them. As far as I can understand they are the same. One uses the default value off Hash and the other snippet creates an empty array for the key before it'll be accessed. Anyone who understands what's going on? :) # Hash default if the key doesn't have a value set is an empty Array a = Hash.new([]) a[:key] << 2 # => [2] p a # => {} nil p a[:key] # => [2] # Explicitly add an array for all nodes before creating b = Hash.new b[:key] ||= [] b[:key] << 2 # => [2] p b # => {:key=>[2]}

    Read the article

  • Nokogiri find text in paragraphs

    - by astropanic
    I want to replace the inner_text in all paragraphs in my XHTML document. I know I can get all text with Nokogiri like this doc.xpath("//text()") But I want only operate on text in paragraphs, how I can select all text in paragraphs without affecting eventually existent anchor texts in links ? #For example : <p>some text <a href="/">This should not be changed</a> another one</a>

    Read the article

  • How to efficiently implement a blocking call with Rails, while letting the client wait for the reply

    - by Kyle Heironimus
    We have a web service written in Rails. The API is published and we cannot change it. Our app communicates with a remote web service that sometimes hangs or takes several seconds to reply. Client -> Our Web Service -> Remote Web Service Currently, if the remote web service hangs for 5 seconds, one of our rails processes on our web service also hangs with it, which is what we need to avoid. I've seen things such as mod-x-sendfile, modporter, and delayed jobs, but the best I can tell, they all assume the client is not waiting for an answer. Since the API is already established, we cannot tell the client "I'm attempting to do what you want, check back later for the answer." The best option we have come up with so far is to add a second, non-rails web server running eventmachine to process these particular calls. Is there a better way?

    Read the article

  • Can using Chronic impair your sense of time?

    - by Trip
    Haha.. I'm using Chronic to parse the time users add in the Calendar. Where the code works and implements the right time, the end result is that, IF a user adds a time, then it has no date, and because it has no date, it will not show in results. Any ideas? def set_dates unless self.natural_date.blank? || Chronic.parse(self.natural_date).blank? # check if we are dealing with a date or a date + time if time_provided?(self.natural_date) self.date = nil self.time = Chronic.parse(self.natural_date) else self.date = Chronic.parse(self.natural_date).to_date self.time = nil end end unless self.natural_end_date.blank? || Chronic.parse(self.natural_end_date).blank? # check if we are dealing with a date or a date + time if time_provided?(self.natural_end_date) self.end_date = nil self.end_time = Chronic.parse(self.natural_end_date) else self.end_date = Chronic.parse(self.natural_end_date).to_date self.end_time = nil end end end Edit: Here is the time_provided? method: def time_provided?(natural_date_string) date_span = Chronic.parse(natural_date_string, :guess => false) (date_span.last - date_span.first).to_i == 1 end

    Read the article

  • Build model with nested model in rspec integration test

    - by user1116573
    I understand that I can do something like in rspec: let(:project) { Project.new } but in my app a project accepts_nested_attributes_for tasks and when I generate the Project form I build a task along with it using: @project = Project.new @project.tasks.build I need something like: let(:project) { Project.new.tasks.build } but that doesn't seem to work. How can I do this as a let in my rspec test?

    Read the article

  • paypal_adaptive gem in Rails: Dynamic Receiver "Population" (Chained Payments)

    - by Jmlevick
    Note: I didn't find a better title for this O.o Hello, Humm... Look, what I want to do is to have a Rails app where a visitor can click a button/link to make a "special" chained payment using Paypal; Currently I have a Users registration form that has one field for the user to enter his/her paypal account email, and as I saw here: http://marker.to/XGg9MR it is possible to specify the primary reciever and the secondary ones by adding such info in a controller action when using the paypal_adaptive gem in a rails app. The thing is, I don't want to hard code the secondary reciever as I need to specify a different secondary reciever from time to time, (being specific my primary reciever will always be the same, but depending on what button/link the visitor clicks, the secondary one is going to change) and I want that secondary reciever email to be the paypal e-mail account from one of the registered users when the visitor clicks on their specific button/link... My question is: Is it possible to create such enviroment functionality in my app using the current implementation of the paypal_adaptive gem? Could someone point me in the right direction on how to accomplish such thing? I'm still learning rails and also I'm really new in the paypal handling universe with this framework! XD P.S. Thanks! :)

    Read the article

  • Port a Rails App from Windows to Mac

    - by Ryan Max
    Hello I've been a Rails developer on Windows for quite some time now, but I recently completed my biggest project yet (it's quite extensive, took me over a year to build) but I am having trouble deploying it. The combination of it's size, complexity and a windows environment is making it needlessly complex to deploy. I am thinking about getting an old mac mini and using it just for rails development. Is there any way I can port my app to this mac, without having to start over? I can't find any resources on the internets about this.

    Read the article

  • Providing updates during a long Rails controller action

    - by highBandWidth
    I have an action that takes a long time. I want to be able to provide updates during the process so the user is not confused as to whether he lost the connection or something. Can I do something like this: class HeavyLiftingController < ApplicationController def data_mine render_update :js=>"alert('Just starting!')" # do some complicated find etc. render_update :js=>"alert('Found the records!')" # do some processing ... render_update :js=>"alert('Done processig')" # send @results to view end end

    Read the article

< Previous Page | 304 305 306 307 308 309 310 311 312 313 314 315  | Next Page >