> On Jan 28, 2019, at 8:47 PM, fugee ohu <[email protected]> wrote: > > > > On Monday, January 28, 2019 at 10:23:43 AM UTC-5, Walter Lee Davis wrote: > > > On Jan 27, 2019, at 8:34 PM, fugee ohu <[email protected]> wrote: > > > > > > > > On Sunday, January 27, 2019 at 5:31:11 PM UTC-5, Walter Lee Davis wrote: > > > > > On Jan 27, 2019, at 5:01 PM, fugee ohu <[email protected]> wrote: > > > > > > > > > > > > On Sunday, January 27, 2019 at 4:47:48 PM UTC-5, Walter Lee Davis wrote: > > > > > > > On Jan 27, 2019, at 4:11 PM, fugee ohu <[email protected]> wrote: > > > > > > > > > > > > > > > > On Sunday, January 27, 2019 at 2:43:46 PM UTC-5, Walter Lee Davis > > > > wrote: > > > > > > > > > On Jan 27, 2019, at 7:35 AM, fugee ohu <[email protected]> wrote: > > > > > > > > > > > > > > > > > > > > On Sunday, January 27, 2019 at 12:24:25 AM UTC-5, Walter Lee Davis > > > > > wrote: > > > > > > > > > > > On Jan 26, 2019, at 11:49 PM, fugee ohu <[email protected]> wrote: > > > > > > > > > > > > > > > > > > > > > > > > On Saturday, January 26, 2019 at 6:58:17 PM UTC-5, Walter Lee Davis > > > > > > wrote: > > > > > > > > > > > > > On Jan 26, 2019, at 5:27 PM, fugee ohu <[email protected]> wrote: > > > > > > > > > > > > > > TypeError: no implicit conversion of Symbol into Integer > > > > > > > from app/models/press_release.rb:17:in `truncated_headline' > > > > > > > > > > > > > > > > > > > > > class PressRelease < ApplicationRecord > > > > > > > > > > > > > > extend FriendlyId > > > > > > > friendly_id :truncated_headline, use: :slugged > > > > > > > > > > > > > > > > > > > > > def truncated_headline > > > > > > > # cut off at 200 characters, without an ellipsis > > > > > > > headline.truncate(255, '') > > > > > > > end > > > > > > > > > > > > > > > > > > > Aha. truncate takes named arguments past the first one. The correct > > > > > > signature is > > > > > > > > > > > > headline.truncate(255, omission: '') > > > > > > > > > > > > This should work. > > > > > > > > > > > > Walter > > > > > > > > > > > > Still rolling back > > > > > > > > > > > > > > > > > > > > > > Show me an example from your development console. Copy and paste. > > > > > Make sure that you include the part where we can see the parameters > > > > > being passed into your controller. I suspect that you are trying to > > > > > pass a type = 'admin' parameter somewhere, that's what the error > > > > > looked like earlier. Type columns in polymorphic relationships must > > > > > be passed a valid constant name, which will begin with an upper-case > > > > > letter. If there is a model in that relationship named admin, you > > > > > would pass Admin rather than admin. > > > > > > > > > > Walter > > > > > > > > > > > > > > > Loading development environment (Rails 5.2.0) > > > > > 2.3.3 :001 > PressRelease.find_each(&:save) > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > (24.1ms) SET NAMES utf8, @@SESSION.sql_mode = > > > > > CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), > > > > > ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, > > > > > @@SESSION.wait_timeout = 2147483 > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > PressRelease Load (53.8ms) SELECT `press_releases`.* FROM > > > > > `press_releases` ORDER BY `press_releases`.`id` ASC LIMIT 1000 > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > (7.1ms) BEGIN > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > PressRelease Exists (9.4ms) SELECT 1 AS one FROM `press_releases` > > > > > WHERE `press_releases`.`id` != 2 AND `press_releases`.`slug` = > > > > > 'outskirts-of-love-is-available-now-some-autographed-copies-remain' > > > > > LIMIT 1 > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > (7.9ms) ROLLBACK > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > (5.6ms) BEGIN > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > PressRelease Exists (9.6ms) SELECT 1 AS one FROM `press_releases` > > > > > WHERE `press_releases`.`id` != 3 AND `press_releases`.`slug` = > > > > > 'shemekia-copeland-to-appear-in-new-york-and-teaneck' LIMIT 1 > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > (6.3ms) ROLLBACK > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > (6.0ms) BEGIN > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > PressRelease Exists (12.7ms) SELECT 1 AS one FROM > > > > > `press_releases` WHERE `press_releases`.`id` != 5 AND > > > > > `press_releases`.`slug` = > > > > > 'al-basile-creates-new-roots-music-masterpiece-with-b-s-expression-due-september-18-on-sweetspot-records-latest-release-is-most-fully-realized-album-yet' > > > > > LIMIT 1 > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > (8.1ms) ROLLBACK > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > (6.0ms) BEGIN > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > PressRelease Exists (8.9ms) SELECT 1 AS one FROM `press_releases` > > > > > WHERE `press_releases`.`id` != 6 AND `press_releases`.`slug` = > > > > > 'new-cd-from-british-blues-godfather-john-mayall-find-a-way-to-care-set-for-release-september-4th-on-forty-below-records-vinyl-lp-to-follow-in-fall' > > > > > LIMIT 1 > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > (6.8ms) ROLLBACK > > > > > Query Trace > (irb):1:in `irb_binding' > > > > > > > > > > > > > > > > > > Okay, since you're not in the development console, and aren't handling > > > > a PUT or PATCH, you don't have parameters to look at here. So this is > > > > less useful than I had hoped. Please answer these questions, preferably > > > > inline, so I don't have to play hunt-and-peck to figure this out. > > > > > > > > 1. When you added FriendlyId to your app, did you use the built-in > > > > generator to add the friendly_id_slugs table to your app? > > > > > > > > 2. After you added gem 'friendly_id' to your Gemfile, and ran bundle > > > > install, did you at any point after that do anything that caused the > > > > friendly_id gem to upgrade to a newer version? Hint: look through the > > > > git history on your Gemfile.lock file, and look for any (upward, I'm > > > > guessing) movement of the version number of the friendly_id gem. The > > > > line you are looking at will be the one that reads something like > > > > > > > > friendly_id (5.2.5) > > > > > > > > with nothing else on the same line. Any other reference to friendly_id > > > > will be in dependencies, not the actual version of the gem that your > > > > app is loading and running. > > > > > > > > 3. What happens if you change &:save to &:save! (with a bang!) in order > > > > to die spectacularly and throw a visible error? > > > > > > > > 4. What happens if you unroll the Symbol-to-Proc sugar into its > > > > long-hand equivalent? Example: > > > > > > > > YourModel.find_each do |instance| > > > > instance.save! > > > > puts instance.errors.full_messages > > > > end > > > > > > > > That should die after the first model with errors, and throw out a more > > > > useful error message than ROLLBACK. > > > > > > > > If the answer to #2 is Yes, then you will probably need to read through > > > > the upgrade instructions on the FriendlyId project README on GitHub, > > > > and figure out what you didn't do. That's not likely to be the problem, > > > > but I put it out there because this project has had some tectonic > > > > shifts in its schema, and all of them are covered with extra migrations > > > > that you optionally run when you update. Missing any of these could > > > > cause the whole thing to fail. But that's only likely if you started > > > > with FriendlyId a while ago, and then did something unrelated with > > > > Bundler that caused this gem to upgrade further than you were > > > > expecting. Particularly if you see that the version has changed in the > > > > major number, like from 3.x.x to 4.x.x, that's when you would want to > > > > be very careful to check those instructions. > > > > > > > > Walter > > > > > > > > > > > > ActiveRecord::RecordInvalid: translation missing: > > > > en-US.activerecord.errors.messages.record_invalid > > > > from (irb):1 > > > > > > > > > > This is interesting. Try removing the .full_messages part and run this > > > again. You have an invalid record, which means it can't be saved. You > > > have to figure out what the error is. What validations do you have on the > > > object? What validations do you have on the related models? What > > > requirements are you missing? That's where your problem is -- this has > > > zero to do with friendly_id. > > > > > > Walter > > > > > > > > > > > -- > > > > You received this message because you are subscribed to the Google > > > > Groups "Ruby on Rails: Talk" group. > > > > To unsubscribe from this group and stop receiving emails from it, send > > > > an email to [email protected]. > > > > To post to this group, send email to [email protected]. > > > > To view this discussion on the web visit > > > > https://groups.google.com/d/msgid/rubyonrails-talk/0055fa7d-84e6-4082-83ca-f9e18aeb78ad%40googlegroups.com. > > > > > > > > For more options, visit https://groups.google.com/d/optout. > > > > > > > > > class PressRelease < ApplicationRecord > > > > > > extend FriendlyId > > > friendly_id :truncated_headline, use: :slugged > > > belongs_to :poster, polymorphic: true > > > attr_accessor :club_id > > > attr_accessor :festival_id > > > attr_accessor :user_venue_id > > > has_many :pictures, as: :imageable > > > > > > def self.search(search) > > > where("headline LIKE ? OR storyline LIKE ? OR publicist LIKE ?", > > > "%#{search}%", "%#{search}%", "%#{search}%") > > > end > > > > > > def truncated_headline > > > # cut off at 200 characters, without an ellipsis > > > headline.truncate(255, omission: '') > > > end > > > > > > validates :publicist, :headline, :storyline, :dateline, :genre_id, > > > :presence => true > > > validates :venue_state, :presence => true, :if => Proc.new { |e| > > > e.venue_country == "US" && !(e.press_release_type="tour") } > > > validates :venue_state, :presence => false, :if => Proc.new { |e| > > > e.venue_country != "US" } > > > validates :venue, :venue_country, :venue_city, :venue_address, > > > :showdate, :showtime, :presence => true, :unless => Proc.new { |e| > > > e.poster_type == 'Admin' || (e.press_release_type="tour") } > > > validates :showdate, :presence => true, :if => Proc.new { |e| > > > e.club_id.present? || (e.festival_id.present?) || > > > (e.user_venue_id.present?) || (e.venue_name.present?) } > > > validates :showdate, :date => { :after => Time.now + 2.hour }, :if => > > > Proc.new { |e| e.user_id.present? } > > > validates :image_url, allow_blank: true, format: {with: > > > %r{\.(gif|jpg|png)\Z}i, message: 'must be a URL for GIF, JPG or PNG > > > image.'} > > > validates :showdate, :presence => true, :if => Proc.new { |e| > > > e.user_id.present? } > > > > > > > > > VENUE_STATE_TYPES = > > > [ > > > ['Alabama', 'AL'], > > > ... > > > ['Wyoming', 'WY'] > > > ] > > > > > > > > > end > > > > > > > > > > Interesting, but meaningless without seeing what the error is when you try > > to save a record. Try opening up this application in console, selecting the > > first record in the press releases, and saving it. See what you get in the > > console error message. > > > > rails c development > > > > pr = PressRelease.first > > pr.touch > > pr.save! > > > > What happens here? > > > > All the console stuff you have been showing so far appears to be in > > production, and the errors don't include a stack trace or any detail > > besides the database ROLLBACK. > > > > Try to repeat the error in development, or set your log level to info in > > production and try to repeat it there. > > > > Walter > > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "Ruby on Rails: Talk" group. > > > To unsubscribe from this group and stop receiving emails from it, send an > > > email to [email protected]. > > > To post to this group, send email to [email protected]. > > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/rubyonrails-talk/1b6f26b5-8b6a-4e97-8467-261ea7f2e489%40googlegroups.com. > > > > > > For more options, visit https://groups.google.com/d/optout. > > > > > > 2.3.3 :003 > pr.save > > Query Trace > (irb):3:in `irb_binding' > > (7.1ms) BEGIN > > Query Trace > (irb):3:in `irb_binding' > > PressRelease Exists (11.8ms) SELECT 1 AS one FROM `press_releases` > > WHERE `press_releases`.`id` != 2 AND `press_releases`.`slug` = > > 'outskirts-of-love-is-available-now-some-autographed-copies-remain' LIMIT 1 > > Query Trace > (irb):3:in `irb_binding' > > (6.5ms) ROLLBACK > > => false > > > > Try this: > > PressRelease.update_all slug: nil > > Then try running your &:save! again. > > Walter > > Still getting ROLLBACK's >
p = PressRelease.first p.valid? p.errors.inspect What do you see? Walter -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/D5B9A1F5-7C2B-479C-9D40-1055033CE2CF%40wdstudio.com. For more options, visit https://groups.google.com/d/optout.

