小编bon*_*nes的帖子

设计问题,“更新”方法现在正在删除我的用户帐户

我在使用 Devise 和 Simple_Form 的应用程序中遇到了最奇怪的问题。我的所有功能都工作正常,现在当我去“更新”我的帐户时,它只是取消了该帐户。我没有更改控制器甚至编辑表单中的任何内容。我发现这个问题在推送到 Heroku 后逐渐出现,并注意到开发和生产中现在的变化,所以我不确定是什么导致了这个问题。

解决方案:在我的完全自动生成的设计表单中,有一个缺失</div>导致我的更新和取消功能混合在一起。由于设计格式化表单的方式,在所有代码中都不清楚该标签是否未关闭!棘手的捕获。

有没有办法覆盖设备默认值来修复这个奇怪的错误?

 <%= form_for(resource, 
   as: resource_name, 
   url: registration_path(resource_name),  
   html: { method: :put }) do |f| %>
 <%= devise_error_messages! %>

 <div>
   <%= f.label :profile_photo %><br />
   <%= f.file_field :profile_photo, label: "Image" %>
   <%= image_tag (current_owner.profile_photo.url(:thumb)) %>
 **</div>**

 <div>
   <%= f.submit "Update" %>
 </div>
 <% end %>

 <h3>Cancel my account</h3>

 <p>Unhappy? <%= button_to "Cancel my account", registration_path(resource_name), 
  data: { confirm: "Are you sure?" }, method: :delete %></p>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku devise simple-form

5
推荐指数
1
解决办法
1020
查看次数

全面 RVM 拒绝权限错误 - OS X Mavericks - Ruby 2.0.0?

在梳理了大量修复程序后,我陷入了停滞。我是 Ruby/编程的新手,并且在今天早些时候安装了 Ruby/RVM 非常好,可以正常工作(单用户),但是发生了一些变化,我尝试修复它可能造成的损害大于好处。

本质上,当我尝试运行我的基本 .rb 文件时,它给了我:

 ruby: No such file or directory -- doom.rb (LoadError)
Run Code Online (Sandbox Code Playgroud)

我尝试卸载 RVM 并重新安装,我认为这就是我搞砸的地方。我用过rvm implode,我认为这是一个不完整的删除。现在当我尝试它时,它只是说command not found。大多数其他修复程序都会显示相同的消息,repair以及get head,你有什么。

如果我尝试重新安装任何存在/不存在的东西,我会看到一个充满权限拒绝错误和已经存在的对象的屏幕:

rm: /Users/caroljones/.rvm/src/rvm/patchsets/ruby/1.9.3/p385: Permission denied
.
.
.
scripts/wrapper: Can't unlink already-existing object
scripts/zsh/: Can't update time for scripts/zsh
scripts/zsh/Completion/: Can't update time for scripts/zsh/Completion
scripts/zsh/Completion/_rvm: Can't unlink already-existing object
tar: Error exit delayed from previous errors.
Could not extract RVM sources.
Run Code Online (Sandbox Code Playgroud)

如果我运行echo $PATH,我会得到这个:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin/
Run Code Online (Sandbox Code Playgroud)

Ruby 安装正常: …

ruby permission-denied rvm

2
推荐指数
1
解决办法
1263
查看次数

ActionController :: UrlGenerationError:缺少必需的键:[:id]

我正在运行RSpec 3测试,并且在这个特定路径上遇到同样的错误:

 Failure/Error: visit book_path
 ActionController::UrlGenerationError:
 No route matches {:action=>"show", :controller=>"books"} missing required keys: [:id]
Run Code Online (Sandbox Code Playgroud)

我的测试还没完成,所以我确定后面的一些代码可能不正确.但我无法让我的访问路径行运行:

...
book = FactoryGirl.build(:book)
reviews = FactoryGirl.build_list(:review, 5, book: book)

visit book_path

reviews.each do |review|
  expect(page).to have_content(review.rating)
  expect(page).to have_content(review.body)
  expect(page).to have_content(review.timestamp)
end

  expect(page).to have_content('House of Leaves')
  expect(page).to have_content('Mark Z. Danielewski')
  expect(page).to have_content('Horror')
end
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我将show定义为:

def show
  @book = Book.find(params[:id])
  @reviews = @book.reviews.order('created_at DESC')
  @review = Review.new
end
Run Code Online (Sandbox Code Playgroud)

我的资源:

resources :books, only: [:index, :show, :new, :create] do
  resources :reviews, only: [:show, :new, :create] do
end
Run Code Online (Sandbox Code Playgroud)

rspec capybara rspec-rails ruby-on-rails-4 factory-bot

1
推荐指数
1
解决办法
4337
查看次数