Search Results

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

Page 108/431 | < Previous Page | 104 105 106 107 108 109 110 111 112 113 114 115  | Next Page >

  • access properties of current model in has_many declaration

    - by seth.vargo
    Hello, I didn't exactly know how to pose this question other than through example... I have a class we will call Foo. Foo :has_many Bar. Foo has a boolean attribute called randomize that determines the order of the the Bars in the :has_many relationship: class CreateFoo < ActiveRecord::Migration def self.up create_table :foos do |t| t.string :name t.boolean :randomize, :default => false end end end   class CreateBar < ActiveRecord::Migration def self.up create_table :bars do |t| t.string :name t.references :foo end end end   class Bar < ActiveRecord::Base belongs_to :foo end   class Foo < ActiveRecord::Base # this is the line that doesn't work has_many :bars, :order => self.randomize ? 'RAND()' : 'id' end How do I access properties of self in the has_many declaration? Things I've tried and failed: creating a method of Foo that returns the correct string creating a lambda function crying Is this possible? UPDATE The problem seems to be that the class in :has_many ISN'T of type Foo: undefined method `randomize' for #<Class:0x1076fbf78> is one of the errors I get. Note that its a general Class, not a Foo object... Why??

    Read the article

  • What do I need to change to get this 'acts_as_rateable' Rails plugin working with this code from the

    - by tepidsam
    Hello! I'm working my way through the 'Foundation Rails 2' book. In Chapter 9, we are building a little "plugins" app. In the book, he installs the acts_as_rateable plugin found at http://juixe.com/svn/acts_as_rateable. This plugin doesn't appear to exist in 2010 (the page for this "old" plugin seems to be working again...it was down when I tried it earlier), so I found another acts_as_rateable plugin at http://github.com/azabaj/acts_as_rateable. These plugins are different and I'm trying to get the "new" plugin working with the code/project/app from the Foudations 2 book. I was able to use the migration generator included with the "new" plugin and it worked. Now,though, I'm a bit confused. In the book, he has us create a new controller to work with the plugin (the old plugin). Here's the code for that: class RatingsController < ApplicationController def create @plugin = Plugin.find(params[:plugin_id]) rating = Rating.new(:rating => params[:rating]) @plugin.ratings << average_rating redirect_to @plugin end end Then he had us change the routing: map.resources :plugins, :has_many => :ratings map.resources :categories map.root :controller => 'plugins' Next, we modified the following to the 'show' template so that it looks like this: <div id="rate_plugin"> <h2>Rate this plugin</h2> <ul class="star-rating"> <li> <%= link_to "1", @plugin.rate_it(1), :method => :post, :title => "1 star out of 5", :class => "one-star" %> </li> <li> <%= link_to "2", plugin_ratings_path(@plugin, :rating => 2), :method => :post, :title => "2 stars out of 5", :class => "two-stars" %> </li> <li> <%= link_to "3", plugin_ratings_path(@plugin, :rating => 3), :method => :post, :title => "3 stars out of 5", :class => "three-stars" %> </li> <li> <%= link_to "4", plugin_ratings_path(@plugin, :rating => 4), :method => :post, :title => "4 stars out of 5", :class => "four-stars" %> </li> <li> <%= link_to "5", plugin_ratings_path(@plugin, :rating => 5), :method => :post, :title => "5 stars out of 5", :class => "five-stars" %> </li> </ul> </div> The problem is that we're using code for a different plugin. When I try to actually "rate" one of the plugins, I get an "unknown attribute" error. That makes sense. I'm using attribute names for the "old" plugin, but I should be using attributes names for the "new" plugin. The problem is...I've tried using a variety of different attribute names and I keep getting the same error. From the README for the "new" plugin, I think I should be using some of these but I haven't been able to get them working: Install the plugin into your vendor/plugins directory, insert 'acts_as_rateable' into your model, then restart your application. class Post < ActiveRecord::Base acts_as_rateable end Now your model is extended by the plugin, you can rate it ( 1-# )or calculate the average rating. @plugin.rate_it( 4, current_user.id ) @plugin.average_rating #=> 4.0 @plugin.average_rating_round #=> 4 @plugin.average_rating_percent #=> 80 @plugin.rated_by?( current_user ) #=> rating || false Plugin.find_average_of( 4 ) #=> array of posts See acts_as_rateable.rb for further details! I'm guessing that I might have to make some "bigger" changes to get this plugin working. I'm asking this question to learn and only learn. The book gives code to get things working with the old plugin, but if one were actually building this app today it would be necessary to use this "new" plugin, so I would like to see how it could be used. Cheers! Any ideas on what I could change to get the "new" plugin working?

    Read the article

  • problem using default_scope on a model table

    - by DannyRe
    Hey. In my controller/index action I use the following query: @course_enrollments = current_user.course_enrollments This is what my table looks like. It is referencing a course table. The course table has a colum 'title'. create_table "course_enrollments", :force => true do |t| t.integer "user_id", :null => false t.integer "course_id", :null => false t.datetime "created_at" t.datetime "updated_at" end I want to be able to order my course_enrollments by course in my index view. Furthermore Id like to do a default_scope in my model, like this: default_scope :order => 'title asc' any suggestions? Thx for your time

    Read the article

  • Rails routing issue

    - by Brob
    Hi I've just started learning rails and been going through some tutorials from learning rails (http://www.buildingwebapps.com/podcasts/79335-putting-the-page-contents-into-the) The tutorials appear to be Rails v2 and I'm on Rails v3 There is a line in the routes file which appears to be causing a problem map.view_page ':name', :controller => 'viewer', :action => 'show' The line works for the front end view i.e. my viewer controller but not for the back end I get the error NoMethodError in Viewer#show I think this has something to do with the view I am using and the line <%= @page.body %> I know it's difficult without the full code but if anyone can help that would be awesome

    Read the article

  • Rails 3: How not to include column's name in a validation message without plugins ?

    - by Misha Moroshko
    I have the following validation: validates_presence_of :price, :message => "my message" and I get the following error when the price is blank: Price my message Is there a way not to include the column name (price) in the message ? I tried to do: validates_presence_of :price, :message => "^ my message" as suggested here, but it didn't work for me. I got the following message: Price ^ my message

    Read the article

  • How do I set up my @product=Product.find(params[:id]) to have a product_url?

    - by montooner
    Trying to recreate { script/generate scaffold }, and I've gotten thru a number of Rails basics. I suspect that I need to configure default product url somewhere. But where do I do this? Setup: Have: def edit { @product=Product.find(params[:id]) } Have edit.html.erb, with an edit form posting to action = :create Have def create { ... }, with the code redirect_to(@product, ...) Getting error: undefined method `product_url' for #< ProductsController:0x56102b0 My def update: def update @product = Product.find(params[:id]) respond_to do |format| if @product.update_attributes(params[:product]) format.html { redirect_to(@product, :notice => 'Product was successfully updated.') } format.xml { head :ok } else format.html { render :action => "edit" } format.xml { render :xml => @product.errors, :status => :unprocessable_entity } end end end

    Read the article

  • I am validating for RegEx errors -- how can I return which keyword, it failed on?

    - by Trip
    I'm passing new objects through this set of regex : (?i)exp\s|(?i)expire\s|(?i)print|(?i)mention|(?i)spring|(?i)summer|(?i)winter|(?i)jan(\s|\.)|(?i)january|(?i)february|(?i)feb(\.|\s)|(?i)march|mar(\.|\s)|(?i)april|(?i)june|(?i)july|(?i)august|(?i)aug(\s|\.)|(?i)september|(?i)sept(\.|\s)|(?i)november|(?i)nov(\.|\s)|(?i)december|(?i)dec(\.|\s)|(?i)holiday|(?i)christmas|(?i)holloween|(?i)easter|(?i)season|(?i)ends|(?i)end If it errors, for example on the word christmas , how can I dynamically pull the word it errors on, and display it as the cause of the error?

    Read the article

  • Add Shortcut to Nested Route

    - by wakeless
    I'm using nested routes and I want to provide some sort of a shortcut method. (I'm using RoR 3.0) The routes look like this. resources :countries do resources :regions do resources :wineries end end To access a winery route I want to be able to define a function that removes the need to specify a country and region each time. Like: def winery_path(winery) country_region_winery_path (winery.country, winery.region, winery) end Where should I do this? How can I get that to be available whereever url_for is available?

    Read the article

  • Rails 3: How to validate that A < B where A and B are both model attributes ?

    - by Misha Moroshko
    I would like to validate that customer_price >= my_price. I tried the following: class Product < ActiveRecord::Base attr_accessor :my_price validates_numericality_of :customer_price, :greater_than_or_equal_to => my_price ... end (customer_price is a column in the Products table in the database, while my_price isn't.) Here is the result: NameError in ProductsController#index undefined local variable or method `my_price' for #<Class:0x313b648> What is the right way to do this in Rails 3 ?

    Read the article

  • Saving multiple select form data in db

    - by fl00r
    Hi. I've got form for some model A, which has got few fields: tile description ... colors colors are selected from multiple select and options are ['red', 'green', 'blue', 'yellow']. User can choose colors as many as he wants. I don't think that making Color model and has_many relationship is good solution here to store colors data in model A. So question is: How to store multiple data in db for such multiple select forms?

    Read the article

  • Ultra-grand super acts_as_tree rails query

    - by Bloudermilk
    Right now I'm dealing with an issue regarding an intense acts_as_tree MySQL query via rails. The model I am querying is Foo. A Foo can belong to any one City, State or Country. My goal is to query Foos based on their location. My locations table is set up like so: I have a table in my database called locations I use a combination of acts_as_tree and polymorphic associations to store each individual location as either a City, State or Country. (This means that my table consists of the rows id, name, parent_id, type) Let's say for instance, I want to query Foos in the state "California". Beside Foos that directly belong to "California", I should get all Foos that belong every City in "California" like Foos in "Los Angeles" and "San Francisco". Not only that, but I should get any Foos that belong to the Country that "California" is in, "United States". I've tried a few things with associations to no avail. I feel like I'm missing some super-helpful Rails-fu here. Any advice?

    Read the article

  • Assign multiple css classes to a table element in Rails

    - by Eric K
    I'm trying to style a table row using both cycle and a helper, like shown: <tr class= <%= cycle("list-line-odd #{row_class(item)}", "list-line-even #{row_class(item)}")%> > However, when I do this, the resulting HTML is: <tr class = "list-line-odd" lowest-price> with the return from the helper method not enclosed in the quotes, and therefore not recognized. Here's the helper I'm using: def row_class(item) if item.highest_price > 0 and item.lowest_price > 0 and item.highest_price != item.lowest_price if item.current_price >= item.highest_price "highest-price" elsif item.current_price <= item.lowest_price "lowest-price" end end end I must be missing something obvious, but I just can't figure out how to wrap both the result of cycle and the helper method return in the same set of quotes. Any help would be greatly appreciated!

    Read the article

  • Need ideas for reprocessing images using attachment_fu

    - by cswebgrl
    Hi, I discovered a bug in my Rails app due to Rails app and gems upgrades and undocumented code from the previous developers. I have a lot of images that have been processed, but not sized correctly using attachment_fu. All of the images that were uploaded since the upgrade need to be resized correctly. Does anyone have any ideas to reprocess all of the images within the folders and resize them to the correct sizes? I'd hate to have to do these all manually. THANKS!! Cindy

    Read the article

  • How can I separate error_messages from two forms on one page?

    - by itkevin
    I have two forms in one view updating the User Profile. One Form is to Update my name etc. and one is to change my password. Profile Form: - form_for @user, :url => account_path do |f| = f.error_messages ...form fields here... Password Form: - form_for @user, :url => account_path do |pf| = pf.error_messages ...password fields here... As you can see they both point to the same update action in the users controller. If I type in a invalid password both error_messages show me the same error message. How can I output separate error messages per form?

    Read the article

  • Rails 3 remote resubmit form with dynamic fields

    - by montrealmike
    I have a form which has remote => true. When i submit it the first time everything works well. If there are any errors i want to add new fields to this form. I did this with update.js.erb. The problem is that when i resubmit this form, the result js file is rendered as html (ie i see the js file text on the screen). This is the same update.js.erb file that was rendered as js the first time... Any idea what i'm missing?

    Read the article

  • Rails 3 Nested Forms

    - by Mike
    I have a Person model and an Address Model: class Person < ActiveRecord::Base has_one :address accepts_nested_attributes_for :address end class Address < ActiveRecord::Base belongs_to :person end In my people controller I have @person.build_address in my new action. My forms builds correctly. The problem is that when I submit the form, a person record and an address record is created but they aren't linked via the address_id column in the Person table. Am I missing a step in the controller? Thanks! New Action UPDATE def new @person = Person.new @person.build_address respond_to do |format| format.html # new.html.erb format.xml { render :xml => @person } end end Form Code UPDATE <%= form_for(@person) do |f| %> <% if @person.errors.any? %> <div id="error_explanation"> <h2><%= pluralize(@person.errors.count, "error") %> prohibited this person from being saved:</h2> <ul> <% @person.errors.full_messages.each do |msg| %> <li><%= msg %></li> <% end %> </ul> </div> <% end %> <div class="field"> <%= f.label :first_name %><br /> <%= f.text_field :first_name %> </div> <div class="field"> <%= f.label :last_name %><br /> <%= f.text_field :last_name %> </div> <div class="field"> <%= f.label :email %><br /> <%= f.text_field :email %> </div> <div class="field"> <%= f.label :telephone %><br /> <%= f.text_field :telephone %> </div> <div class="field"> <%= f.label :mobile_phone %><br /> <%= f.text_field :mobile_phone %> </div> <div class="field"> <%= f.label :date_of_birth %><br /> <%= f.date_select :date_of_birth %> </div> <div class="field"> <%= f.label :gender %><br /> <%= f.select(:gender, Person::GENDER_TYPES) %> </div> <div class="field"> <%= f.label :notes %><br /> <%= f.text_area :notes %> </div> <div class="field"> <%= f.label :person_type %><br /> <%= f.select(:person_type, Person::PERSON_TYPES) %> </div> <%= f.fields_for :address do |address_fields| %> <div class="field"> <%= address_fields.label :street_1 %><br /> <%= address_fields.text_field :street_1 %> </div> <div class="field"> <%= address_fields.label :street_2 %><br /> <%= address_fields.text_field :street_2 %> </div> <div class="field"> <%= address_fields.label :city %><br /> <%= address_fields.text_field :city %> </div> <div class="field"> <%= address_fields.label :state %><br /> <%= address_fields.select(:state, Address::STATES) %> </div> <div class="field"> <%= address_fields.label :zip_code %><br /> <%= address_fields.text_field :zip_code %> </div> <% end %> <div class="actions"> <%= f.submit %> </div> <% end %>

    Read the article

  • Where to reopen a class in RoR

    - by Jeriko
    I'm attempting to reopen the String class in rails and add a bunch more methods for my app to use. Writing the code isn't a problem - my question is rather about where this code should go. It doesn't make sense to me to reopen a class inside a different model file, because it really has nothing to do with any of the models specifically. I thought perhaps somewhere in config or lib would make sense, but I'm not particularly well versed with RoR yet. To summarize, where would be the most logical place to define class-modifying code?

    Read the article

  • Using scope, defined in parent model, inside it's child (STI pattern)

    - by Anton
    I implement a class hierarchy using STI pattern class A scope :aaa, where([someField]:[someValue]) end class B < A end The problem is that when I try to call something like: B.limit(5).aaa => SELECT "[table]".* FROM "[table]" WHERE "[table]"."type" IN ('A') AND ([someField] = [someValue]) LIMIT 5 So I am getting 5 objects of type A, which satisfies scope :aaa But I need to do the same with rows where type = "B" Is there any way to use scopes from parent, without redifinning it in childs in STI pattern? Thanks in advance EDITED I just discussed it with my frind and he showed me one important thing. A in not the root class of STI. IN fact whole hierarchy looks like class O < ActiveRecord::Base end class A < O scope ..... ..... end class B < A end maybe the reason is in hierarchy itself?...

    Read the article

  • Rails nested attributes with a join model, where one of the models being joined is a new record

    - by gzuki
    I'm trying to build a grid, in rails, for entering data. It has rows and columns, and rows and columns are joined by cells. In my view, I need for the grid to be able to handle having 'new' rows and columns on the edge, so that if you type in them and then submit, they are automatically generated, and their shared cells are connected to them correctly. I want to be able to do this without JS. Rails nested attributes fail to handle being mapped to both a new record and a new column, they can only do one or the other. The reason is that they are a nested specifically in one of the two models, and whichever one they aren't nested in will have no id (since it doesn't exist yet), and when pushed through accepts_nested_attributes_for on the top level Grid model, they will only be bound to the new object created for whatever they were nested in. How can I handle this? Do I have to override rails handling of nested attributes? My models look like this, btw: class Grid < ActiveRecord::Base has_many :rows has_many :columns has_many :cells, :through => :rows accepts_nested_attributes_for :rows, :allow_destroy => true, :reject_if => lambda {|a| a[:description].blank? } accepts_nested_attributes_for :columns, :allow_destroy => true, :reject_if => lambda {|a| a[:description].blank? } end class Column < ActiveRecord::Base belongs_to :grid has_many :cells, :dependent => :destroy has_many :rows, :through => :grid end class Row < ActiveRecord::Base belongs_to :grid has_many :cells, :dependent => :destroy has_many :columns, :through => :grid accepts_nested_attributes_for :cells end class Cell < ActiveRecord::Base belongs_to :row belongs_to :column has_one :grid, :through => :row end

    Read the article

  • Determining which video format to use

    - by pcasa
    I want to upload a video file and convert it to flash and 3gp/mp4. No problem, plenty of tuts for this out there using paperclip and ffmpeg. For some reason I thought there was a tut that showed if std browser play flv but if mobile then use 3gp/mp4 but can't seem to find it. Any one know if there is a tut like this out there? Else, Can I tell paperclip which is flv and 3gp/mp4. Then later call something in the view like video_url(:flv) or video_url(:mp4) or set this globally if mobile?

    Read the article

  • root path for multiple controllers on rails routes

    - by Lee
    I have two resource controllers where I am using a slug to represent the ID. (friendly_id gem). I am able to have the show path for one resource on the route but not for two at the same time. ie. root :to => 'home#index' match '/:id' => "properties#show" match '/:id' => "contents#show" Basically I want urls like, # Content domain.com/about-us domain.com/terms # Property domain.com/unique-property-name domain.com/another-unique-property-name Whatever resource I put on top works. Is there a way to do this? Thanks in advace if you can help.

    Read the article

  • has_many conditions or proc on foreign key

    - by ere
    I have a has_many association between two models using a date as both the foreign and primary key for each model. It works perfectly one way but not the other. Works has_one :quiz_log, :primary_key => :start_at, :foreign_key => :start_at Doesn't work has_many :event_logs, :primary_key => :start_at, :foreign_key => :start_at The reason being (i think) because the start_at on QuizLog is a date and the start_at on EventLog is a datetime. So it returns nil trying to match the exact datetime on a simple date. How can I cast the foreign_key start_at on the second statement to convert it first from datetime to simply date so it will match the second model?

    Read the article

  • Controller not accepting params value but the same value hard coded is accepted

    - by Numbers
    Rails.logger.info(params[:question]) => {"title"=>"katt"} @question_list.questions.create(params[:question]) => ActiveModel::ForbiddenAttributesError (ActiveModel::ForbiddenAttributesError) @question_list.questions.create("title"=>"katt") # SUCCES! I cannot understand why Rails not accepts the params when the exact same value written by hand works fine? Update controller: def new_question @question_list.questions.create(params[:question]) render nothing: true end private def set_question_list @question_list = QuestionList.find(params[:id]) end def question_list_params params.require(:question_list).permit(questions_attributes: [:id, :question_list_id, :title, :position, :_destroy]) end view: <%= form_for @question_list, url: new_question_question_list_path, remote: true do |f| %> <%= f.text_field :title %> <%= f.submit %> <% end %>

    Read the article

< Previous Page | 104 105 106 107 108 109 110 111 112 113 114 115  | Next Page >