Search Results

Search found 9825 results on 393 pages for 'ruby on rails3beta'.

Page 322/393 | < Previous Page | 318 319 320 321 322 323 324 325 326 327 328 329  | Next Page >

  • In Rails, how to respect :scope when using validates_uniqueness_of in an embedded object form?

    - by mkirk
    I have a Book model, which has_many Chapters (which belong_to a Book). I want to ensure uniqueness of Chapter titles, but only within the scope of a single book. The catch is that the form for creating chapters is embedded in the Book model's form (The Book model accepts_nested_attributes_for :chapters). Within the Chapter model: validates_uniqueness_of( :chapter_title, :scope = :book_id, :case_sensitive = false, :message = "No book can have multiple chapters with the same title.") However, when I submit the Book creation form (which also includes multiple embedded Chapter forms), if the chapter title exists in another chapter for a different book, I fail the validation test. Book.create( :chapters => [ Chapter.new(:title => "Introduction"), Chapter.new(:title => "How to build things") => Book 1 successfully created Book.create( :chapters => [ Chapter.new(:title => "Introduction"), Chapter.new(:title => "Destroy things") => Book 2 fails to validate second_book = Book.create( :chapters => [ Chapter.new(:title => "A temporary Introduction title"), Chapter.new(:title => "Destroy things") => Book 2 succesfully created second_book.chapters[0].title= "Introduction" => success second_book.chapters.save => success second_book.save => success Can anyone shed some light on how to do this? Or why it's happening?

    Read the article

  • Activerecord default accessors & unusual requirements

    - by JP
    I have an ActiveRecord::Base class which needs to have a field that is automatically generated when a new instance is made. How should I go about doing this? By defining an initialize function? class Thing < ActiveRecord::Base # 'special' (integer) needs to be set to lowest unused number (above 0) # considering that random rows will be removed via other processes end This is as far as I've got! Any ideas?

    Read the article

  • Rails associations of user/post/comment

    - by garthcn
    Hi, I'm trying to create an app like a blog, with 3 models: user, post and comment. As expected, a comment belongs to both a user and a post. I used the following associations: User.rb has_many :comments has_many :posts Post.rb has_many :comments belongs_to :user Comment.rb belongs_to :user belongs_to :post And I tried to create comments using: @user.comments.create However, this will relate the comment with user, but not with post. I want the comment to be associated wit BOTH user and post. Is there a way to do so? Or did I use the wrong associations? I think it might be a bad practice to set the user_id or post_id by hand, so both ids are not in attr_accessible. I'm not sure if it is correct. Thank you!

    Read the article

  • What are the Rails best practices for javascript templates in restful/resourceful controllers?

    - by numbers1311407
    First, 2 common (basic) approaches: # returning from some FoosController method respond_to do |format| # 1. render the javascript directly format.js { render :json => @foo.to_json } # 2. render the default template, say update.js.erb format.js { render } end # in update.js.erb $('#foo').html("<%= escape_javascript(render(@foo)) %>") These are obviously simple cases but I wanted to illustrate what I'm talking about. I believe that these are also the cases expected by the default responder in rails 3 (either the action-named default template or calling to_#{format} on the resource.) The Issues With 1, you have total flexibility on the view side with no worries about the template, but you have to manipulate the DOM directly via javascript. You lose access to helpers, partials, etc. With 2, you have partials and helpers at your disposal, but you're tied to the one template (by default at least). All your views that make JS calls to FoosController use the same template, which isn't exactly flexible. Three Other Approaches (none really satisfactory) 1.) Escape partials/helpers I need into javascript beforehand, then inserting them into the page after, using string replacement to tailor them to the results returned (subbing in name, id, etc). 2.) Put view logic in the templates. For example, looking for a particular DOM element and doing one thing if it exists, another if it does not. 3.) Put logic in the controller to render different templates. For example, in a polymorphic belongs to where update might be called for either comments/foo or posts/foo, rendering commnts/foos/update.js.erb versus posts/foos/update.js.erb. I've used all of these (and probably others I'm not thinking of). Often in the same app, which leads to confusing code. Are there best practices for this sort of thing? It seems like a common enough use-case that you'd want to call controllers via Ajax actions from different views and expect different things to happen (without having to do tedious things like escaping and string-replacing partials and helpers client side). Any thoughts?

    Read the article

  • update_attributes with validations

    - by Timothy
    I have the following contrived example in Rails. I want to make sure the Garage model has at least one car with this. class Garage has_many :cars validate :at_least_one_car def at_least_one_car if cars.count == 0 errors.add_to_base("needs at least one car") end end end class Car belongs_to :garage end In my form I have a remove button that will set the hidden field _delete to true for an existing car. Let's say there is only one car object and I "delete" it in my form, if I do garage_object.update_attributes(params[:garage]), it will delete the car model and make the garage object invalid. Is there to a way to make it not update the attributes if it will make the model invalid?

    Read the article

  • Error about TypeError (wrong argument type Module (expected Class)): app/controllers/player_profiles_controller.rb:1:in `<top (required)>'

    - by edi susanto
    hy guys . . im new at this . . sorry for the word that's not understandable and the easy question . . i'd like to ask about an error that shown below : TypeError (wrong argument type Module (expected Class)): app/controllers/player_profiles_controller.rb:1:in `' i want to test the result by render json in soapUI. does anyone know what's the problem so that the error will show up like above ? thanks before.regards,edy

    Read the article

  • Comparing lists of field-hashes with equivalent AR-objects.

    - by Tim Snowhite
    I have a list of hashes, as such: incoming_links = [ {:title => 'blah1', :url => "http://blah.com/post/1"}, {:title => 'blah2', :url => "http://blah.com/post/2"}, {:title => 'blah3', :url => "http://blah.com/post/3"}] And an ActiveRecord model which has fields in the database with some matching rows, say: Link.all => [<Link#2 @title='blah2' @url='...post/2'>, <Link#3 @title='blah3' @url='...post/3'>, <Link#4 @title='blah4' @url='...post/4'>] I'd like to do set operations on Link.all with incoming_links so that I can figure out that <Link#4 ...> is not in the set of incoming_links, and {:title => 'blah1', :url =>'http://blah.com/post/1'} is not in the Link.all set, like so: #pseudocode #incoming_links = as above links = Link.all expired_links = links - incoming_links missing_links = incoming_links - links expired_links.destroy missing_links.each{|link| Link.create(link)} One route I've tried: I'd rather not rewrite Array#- and such, and I'm okay with converting incoming_links to a set of unsaved Link objects; so I've tried overwriting hash eql? and so on in Link so that it ignored the id equality that AR::Base provides by default. But this is the only place this sort of equality should be considered in the application - in other places the Link#id default identity is required. Is there some way I could subclass Link and apply the hash, eql?, etc overwriting there? The other route I've tried is to pull out the attributes hash for each Link and doing a .slice('id',...etc) to prune the hashes down. But this requires writing seperate methods for keeping track of the Link objects while doing set operations on the hashes, or writing seperate Collection classes to wrap the incoming_links hash-list and Link-list which seems a bit overkill. What is the best way to design this interaction? Extra credit for cleanliness.

    Read the article

  • Rails: How can I log all requests which take more than 4s to execute?

    - by Fedyashev Nikita
    I have a web app hosted in a cloud environment which can be expanded to multiple web-nodes to serve higher load. What I need to do is to catch this situation when we get more and more HTTP requests (assets are stored remotely). How can I do that? The problem I see from this point of view is that if we have more requests than mongrel cluster can handle then the queue will grow. And in our Rails app we can only count only after mongrel will receive the request from balancer.. Any recommendations?

    Read the article

  • Adding validations without knowing the fields

    - by Frexuz
    My example form <% form_for @ad do |f| %> <%= f.error_messages %> <p> <%= f.label :ad_type_id %><br /> <%= f.collection_select(:ad_type_id, AdType.all, :id, :name) %> </p> <p> <% @ad.ad_properties.each do |property| %> <%= property.name %>: <% f.fields_for :ad_values do |value_field| %> <%= value_field.text_field :ad_id, :value => @ad.id %> <%= value_field.text_field :ad_property_id, :value => property.id %> <%= value_field.text_field :value %> <% end %><br /><br /> <% end %> </p> <p> <%= f.label :description %><br /> <%= f.text_area :description %> </p> <p><%= f.submit %></p> <% end %> Explanation: Ad has many properties. I can add new properties at any time (it's a normal model). Lets say the Ad is of the type 'hotel'. Then I would add properties like 'stars' and 'breakfast_included' Then I store each of these properties' values in a separate model. And all this works fine with my form above. My problem: These fields are not validated because I can't know what their names are. I need to add validations dynamically somehow. My thought: #Before the normal validations kick in def add_validations self.properties.each do |property| property.add_validation :whatever #somehow :) end end How could I do this?

    Read the article

  • How to balance load in a Apache + Mongrel application

    - by Will
    I was wondering if someone can explain how can a rails application be balanced. Two questions: Does it even help having separate rails applications reading from the same database in the same dedicated server? I understand Apache can balance load installing some extra modules? am i right? how can we accomplish this? (please provide explanation for dummies)

    Read the article

  • Can’t dup NilClass - how to trace to offender

    - by fullware
    This exception occurs often and intermittently when in development mode, and appears to get triggered by model associations. Does There are lots of references found by google but none seem to help to trace the problem to an offending class. Does anyone have any insight into how to trace the occurrence of this exception to it's cause? I've seen the posts on adding "unloadable" but I'm not sure I buy it--unless there's a way to trace it somehow to its cause. I'm not in favor of indiscriminately adding such things to every class in hopes the problem might go away. Rails 2.3.5.

    Read the article

  • customized form_for tag in rails

    - by poseid
    I want to make a table within a form by making a new form_tag. The following code in ApplicationHelper fails: module ApplicationHelper class TabularFormBuilder < ActionView::Helpers::FormBuilder # ... code to insert <tr> tags </tr> end def tabular_form_for(name, object = nil, options = nil, &proc) concat("<table>", proc.binding) form_for(name, object, (options||{}).merge(:builder => TabularFormBuilder), &proc) concat("</table>", proc.binding) end end The view I use is: <h1>New project</h1> <% tabular_form_for :project, :builder => ApplicationHelper::TabularFormBuilder do |f| %> <%= f.error_messages %> <%= f.text_field :name %> <%= f.text_area :description %> <%= f.text_field :location %> <%= f.submit 'Create' %> <% end %> The error I get is: NoMethodError in Projects#new Showing app/views/projects/new.html.erb where line #5 raised: undefined method `errors' for {:builder=ApplicationHelper::TabularFormBuilder}:Hash Any ideas how to make this custom tag work?

    Read the article

  • cache_counter for habtm

    - by piemesons
    Hello How can use cache_counter in a habtm. For example a question has many tags and a tag can belong to many questions. question habtm tags Now i want to find out number of questions belonging to every tag. One way is counting everytime. But, in case of one_to_many i done same thing in this way. Like one question has many answers. then in answer model i specified belongs_to :question,:cache_counter=>true It solved my problem. So how to do the same in habtm.

    Read the article

  • Include only the latest/newest associated record with active record?

    - by railsnewbie
    is it possible to load only the latest associated record of an associated table? an example: class author attr_accessible :first_name, :last_name, :birthday has_many :books end class book attr_accessible :pages, :date of publication, :title belongs_to :author end Is there a way to generate a scope to load only the newest released book the author wrote? Or the book with the most pages? I know, that I could include or join all books. But I don't know if its possible to load only a specific book for each author. So that I could do a query like this: Author.authors_and_their_newest_book So that I could get these results first_name_author_1, last_name_author_1, birthday_author_1, pages_book_3, date of publication_book_3, title_book_3 first_name_author_2, last_name_author_2, birthday_author_2, pages_book_5, date of publication_book_5, title_book_5 first_name_author_3, last_name_author_3, birthday_author_3, pages_book_9, date of publication_book_9, title_book_9 ...

    Read the article

  • Rails Routes Mappings

    - by rdasxy
    I'm a rails newbie, and I have a controller called resource_links that I've mapped to resources: resources :resources, :as => :resource_links, :controller => :resource_links And this works (basically /resources works as /resource_links). However, trying to go to /resources/tags does not work. To get around this, I added more mappings as: match 'resource_links/tag/:tag(.:format)' => 'resource_links#tag', :via => :get, :as => 'resource_links_tagged', :constraints => {:tag => /.*/} match 'resource_links/tags' => 'resource_links#tags', :via => :get, :as => 'resource_links_tags' Is there any way I can get /resources/tags to be mapped to /resource_links/tag?

    Read the article

  • About presenter pattern in rails. is a better way to do it?

    - by Totty
    I have in my model: def presenter @presenter ||= ProfilePresenter.new(self) @presenter end The ProfilePresenter is a class that has methods like, get_link(), get_img_url(size), get_sex(), get_relationship_status() and other methods that have not to do with the model, not even with the controller but is used multiple times in the view. So now i use them by doing this: Profile.presenter.get_link # or Profile.presenter.get_img_url('thumb') # returns the path of the image. is not used to make a db query

    Read the article

  • Two part form in Rails

    - by samuel02
    I have some two nested resources, so that a Product can have many Bookings. On one page in a different controller I want to create a new booking and since it's a "general" booking I want a select menu to appear in a modal window where the user is able to pick one of the existing products and then go to the booking page. How can I do this? I have no problem setting up the modal and the "New booking" page is already there. What I need is a form that generates a list of existing products, picks the selected product id and then gets /products/:product_id/bookings/new . Any help appreciated! I realize my title does not describe my problem very good so better suggestions are highly welcome!

    Read the article

  • Double join with habtm in ActiveRecord

    - by Daniel Huckstep
    I have a weird situation involving the need of a double inner join. I have tried the query I need, I just don't know how to make rails do it. The Data Account (has_many :sites) Site (habtm :users, belongs_to :account) User (habtm :sites) Ignore that they are habtm or whatever, I can make them habtm or has_many :through. I want to be able to do @user.accounts or @account.users Then of course I should be able to do @user.accounts < @some_other_account And then have @user.sites include all the sites from @some_other_account. I've fiddled with habtm and has_many :through but can't get it to do what I want. Basically I need to end up with a query like this (copied from phpmyadmin. Tested and works): SELECT accounts.* FROM accounts INNER JOIN sites ON sites.account_id = accounts.id INNER JOIN user_sites ON sites.id = user_sites.site_id WHERE user_sites.user_id = 2 Can I do this? Is it even a good idea to have this double join? I am assuming it would work better if users had the association with accounts to begin with, and then worry about getting @user.sites instead, but it works better for many other things if it is kept the way it is (users <- sites).

    Read the article

  • retrieving data from memcache

    - by Adnan
    Hello, I am starting to learn the benefits of memcache, and would like to implement it on my project. I have understood most of it, such as how data can be retrieved by a key and so on. Now I get it that I can put a post with all of its details in memcache and call the key POST:123, that is OK, and I can do it for each post. But how to deal with the case when I query the table posts to get the list of all posts with their titles. Can this be done with memcache, or should this always be queried from the table?

    Read the article

  • Rails gives wrong headers after upgrade 2.3.5 -> 2.3.8

    - by macsniper
    I just upgraded from rails 2.3.5 to rails 2.3.8, but now my redirects are not working properly. I get the following as the response HTTP Headers: HTTP/1.1 302 Moved Temporarily Date: Wed, 02 Jun 2010 09:40:39 GMT Content-Length: 93 Content-Type: text/html whereas I got previous: HTTP/1.1 302 Moved Temporarily Connection: close Date: Wed, 02 Jun 2010 09:41:18 GMT Set-Cookie: _session_id=<correct id>; path=/ Status: 302 Found Location: <correct url> Cache-Control: no-cache Server: Mongrel 1.1.5 Content-Type: text/html; charset=utf-8 Content-Length: 93 Anyone knows how to fix this? Despite the fact that the redirect is not working, the login-cookie is not set too (but I think, this is both related somehow). I have already tried to override redirect_to in order to set response.headers['Location'] etc., but they did not appear in the response.

    Read the article

< Previous Page | 318 319 320 321 322 323 324 325 326 327 328 329  | Next Page >